Răspuns :
O sa presupun ca stii ce e ala ASCII. Daca nu stii, pe scurt, calculatoarele deja ai cate un cod numeric pentru fiecare litera, si pentru simboluri gen ounct virgula etc.
Codul numeric pentru 'a' mic este 97(pentru b este 98, pentru c 99, etc.) asa ca pentru a transforma o litera in numarul sau din alfabet, gen 'a' sa il faci 0 nu trebuie decat sa ii iei codul ASCII si sa scazi 97.
Astfel a, care e 97, va deveni 0, b care e 98 devine 1, etc.
Pentru a transforma un caracter in numarul sau ASCII nu trebuie decat sa ii dai unei variabile in valoarea caracterului:
char c = 'b';
int i = c;
Daca vei afisa acum variabila i, vei primi 98, deci ca sa primim ce vrei tu, facem asa:
i = c - 97;
Asa ca nu ai decat sa:
1. Citesti intr-un sir de caractere cuvantul.
2. Faci un vector de numere ca sa restii codurile caracterelor.
3. Cu un for de la 0 la strlen(cuvant)-1 iei fiecare litera din cuvant si o transformi in numar ca mai sus.
Dupa asta, ca sa obtii nr in baza 10 faci in felul urmator:
1. Iti faci o variabila, result = 0, in care o sa pui numarul
2. Parcurgi vectorul de numere DE LA SFARSIT SPRE INCEPUT, pentru ca tehnic ultimul element e "ultima cifra"
3. Ca sa convertesti sin baxa X in baza 10, oricare ar fi X, iei "cifrele" lui x de la coada la cap, si le inmultesti cu puteri ale lui X. Las si un exemplui sa fie mai clar:
Daca cuvantul tau e "abcda":
Asta inseamna 0 1 2 3 0, in baza 26
Tu vei parcurge numerele astea in ordine INVERSA
Iar rezultatul final il vei obtine adunand asa:
(prima cifra de la coada) * ((baza) ^ (a cata cifra de la coada este... minus unu!))
+
(a doua cifra de la coada) * ((baza) ^ (...))
Si tot asa.
Deci pt exemplul nostru cu 0 1 2 3 0 ar veni asa:
0 * 26 ^ 0 +
3 * 26 ^ 1 +
2 * 26 ^ 2 +
1 * 26 ^ 3 +
0 * 26 ^ 4
Spor!
Codul numeric pentru 'a' mic este 97(pentru b este 98, pentru c 99, etc.) asa ca pentru a transforma o litera in numarul sau din alfabet, gen 'a' sa il faci 0 nu trebuie decat sa ii iei codul ASCII si sa scazi 97.
Astfel a, care e 97, va deveni 0, b care e 98 devine 1, etc.
Pentru a transforma un caracter in numarul sau ASCII nu trebuie decat sa ii dai unei variabile in valoarea caracterului:
char c = 'b';
int i = c;
Daca vei afisa acum variabila i, vei primi 98, deci ca sa primim ce vrei tu, facem asa:
i = c - 97;
Asa ca nu ai decat sa:
1. Citesti intr-un sir de caractere cuvantul.
2. Faci un vector de numere ca sa restii codurile caracterelor.
3. Cu un for de la 0 la strlen(cuvant)-1 iei fiecare litera din cuvant si o transformi in numar ca mai sus.
Dupa asta, ca sa obtii nr in baza 10 faci in felul urmator:
1. Iti faci o variabila, result = 0, in care o sa pui numarul
2. Parcurgi vectorul de numere DE LA SFARSIT SPRE INCEPUT, pentru ca tehnic ultimul element e "ultima cifra"
3. Ca sa convertesti sin baxa X in baza 10, oricare ar fi X, iei "cifrele" lui x de la coada la cap, si le inmultesti cu puteri ale lui X. Las si un exemplui sa fie mai clar:
Daca cuvantul tau e "abcda":
Asta inseamna 0 1 2 3 0, in baza 26
Tu vei parcurge numerele astea in ordine INVERSA
Iar rezultatul final il vei obtine adunand asa:
(prima cifra de la coada) * ((baza) ^ (a cata cifra de la coada este... minus unu!))
+
(a doua cifra de la coada) * ((baza) ^ (...))
Si tot asa.
Deci pt exemplul nostru cu 0 1 2 3 0 ar veni asa:
0 * 26 ^ 0 +
3 * 26 ^ 1 +
2 * 26 ^ 2 +
1 * 26 ^ 3 +
0 * 26 ^ 4
Spor!