👤
Ciprian74
a fost răspuns

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ăspuns :

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!