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:
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 !