Răspuns :
Răspuns:
Ca sa construiesti oglinditul unui numar, va trebui sa iei cifrele de la sfarsitul numarului spre inceput. Pentru asta te folosesti de 2 operatii:
x%10 este ultima cifra a numarului x;
x/10 "taie" ultima cifra din numarul x;
Cum se procedeaza:
- iei ultima cifra din numar (x%10) si o adaugi oglinditului (ca sa o adaugi la sfarsit inmultesti oglinditul cu 10 si aduni ultima cifra a nr x: o=o*10+x%10)
-"tai" ultima cifra din numar si ramai
Repeti cei doi pasi de mai sus cat timp numarul mai are cifre, adica (x!=0)
La sfarsitul algoritmului, numarul va fi 0, deci daca mai ai nevoie de el, trebuie sa ii retii valoarea(de-aia a facut x=a; ca sa retina valoarea nr a nemodificata)
In algoritmul tau se porneste cu oglinditul luand valoarea ultimei cifre a lui x (o=x%10) si "taie" aceasta cifra din nr (x=x/10), apoi repeta cei doi pasi de care ziceam mai sus cat timp x!=0
o=x%10 si x=x/10 puteau sa fie inglobate in while-ul ala, astfel:
x=a; o=0; //initial oglinditul nu are nicio cifra si ii dau valoarea 0.
while (x!=0)
{o=o*10+x%10;
x=x/10;}
Explicație: