Se citesc numere naturale de la tastatură până la apariția lui zero. Să se determine câte
dintre numere citite sunt palindroame. De exemplu, dacă se citesc numerele 2 , 17, 515,
132, 1111, 1551, 35, 0 se va afișa valoarea 3, valorile palindroame fiind 515, 1111, 1551.
Va rog mult sa ma ajutati. Am nevoie de rezolvare in C++.
Răspunsuri la întrebare
Răspuns:
Poți face un subprogram care să verifice dacă un număr este palindrom. Un număr este palindrom dacă numărul format prin inversiunea cifrelor este același.
subprogramul trebuie să aibă următorul antet:
int palindrom (int n);
iar instrucțiunile care îl succedă (corpul subprogramului) ar fi:
int palindrom (int n)
{
int ogl = 0, m = n;
while (n != 0)
{
ogl = ogl * 10 + n % 10; n = n / 10;
}
if (ogl == m) return 1;
else return 0;
}
și acum, să facem programul întreg
#include <iostream>
using namespace std;
int palindrom (int n)
{
int ogl = 0, m = n;
while (n != 0)
{
ogl = ogl * 10 + n % 10; n = n / 10;
}
if (ogl == m) return 1;
else return 0;
}
int main()
{
int n, nr = 0;
do{
cin >> n;
if(palindrom(n)) == 1) nr++;
} while (n!=0);
cout << nr;
}
Sper să fie corect!