Informatică, întrebare adresată de rollinn20, 8 ani în urmă

Cum pot retine cifra 0 la sfarsit cand aflu oglinditul numarului...de exemplu introduc de la tastatura 098 si vreau sa mi afiseze 890...mie in momentul de fata imi afiseaza doar 89 acel 0 se pierde.....oglinditul numarului se afla in felul urmator:

#include
using namespace std;
int main(){
int n;
cin >> n;
int ogl= 0;
while(n){
ogl =10*ogl + n%10;
n /= 10;
}
cout << ogl << endl;
return 0;
}

cum pot modifica aceasta formula sa il retina si pe 0 la sfarsit?mentionez ca nu pot folosi functii,vectori si alte chestii complicate

Răspunsuri la întrebare

Răspuns de BigBenN
1

Răspuns:

Hai sa-ti explic de ce iti da 89 ( nu are legatura cu instructiunea while cum crezi tu cel mai probabil :)

cin >> n ; // daca citesti numarul 098

variabila n o sa-ti retina 98 deoarece 098 nu este un numar (poti sa pui un cout fix dupa cititre sa te convingi) [chestia asta se intampla fix dupa citire,deci in while numarul iti intra 98 si iese 89 ]

Poti sa o rezolvi problemuta ta daca folosesti siruri de caractere [sunt acele variabile de tip char],dar sunt ferm convis ca problema nu iti cere sa o rezolvi cu siruri de caractere,insa o sa-ti las codul in fisierul atasat mai jos sa vezi cum poti sa eviti treaba aceasta.

Codul pe care l-ai scris este total corect si primesti 100 de puncte pe orice site l-ai pune.Totusi e bine ca ai remarcat cazul acesta :) dar 098 nu este numar.

Mult succes !

Anexe:

rollinn20: Mersi mult ptr rabdarea pe care ai avut o ca sa imi explici!:)...o sa vad cum.pot rezolva problema,daca nu reusesesc,revin aici cu intreaga problema poate ma poti ajuta,ma chinui de ceva timp sa o rezolv
Alte întrebări interesante