Informatică, întrebare adresată de iancelena, 9 ani în urmă

Afisati toate nr.palindrom din intervalul inchis [a,b].


iancelena: Imi puteti spune careva unde am gresit #include <iostream>

using namespace std;

int main()
{
int a,b,k=0,r=0,copie,n;
cout<<"a="; cin>>a;
cout<<"b="; cin>>b;
for(n>=a;n<=b;n++)
{
copie=n;
while(copie)
{
r=r*10+copie%10;
copie=copie/10;
}
if(n==r)
k++;
n=n/10;

}
cout<<"Intervalul inchis [a,b] are"<< k <<"numere palindroame"<<endl;
}

Răspunsuri la întrebare

Răspuns de Voli04
2
In primul rand, r este egal cu 0 la tine, dar trebuie sa il faci mereu sa fie 0, pt ca atunci cand va intra in primul while, el isi va modifica valoarea de la una nula la una nenula... deci r trebuie golit mereu
De asemenea, de ce ai scris acolo n = n / 10?
si cred ca nu ai nici biblioteca pusa... XD
Uite aici rezolvarea corectata:


#include <iostream>using namespace std;
int main(){int a, b, k = 0, r = 0, copie, n; cout<<"a="; cin>>a; cout<<"b="; cin>>b; for(n = a; n <= b; n++){    r = 0;copie = n;while(copie){r = r * 10 + copie % 10;copie = copie / 10;}if(n == r)k++;}cout<<"Intervalul inchis [a,b] are "<< k <<" numere palindroame"<<endl;}

Alte întrebări interesante