online: 7; azi: 915; total: 52921 Manual clasa a ix a - Implementarea structurilor de date - Structuri de date

Probleme Rezolvate



Manual clasa a IX a

Implementarea structurilor de date

Structuri de date

Se citeşte de la tastatură un număr întreg cu maxim 20 de cifre . Să se verifice dacă numărul este palindrom ( Indicaţie . Cifrele numărului vor fi citite într -un vector.)
# include < iostream >
using namespace std ;
int main () {
const int MAX_DIGITS = 20 ;
int n, digits [MAX_DIGITS];
bool is_palindrome = true ;
cout << " Introduceti un numar intreg cu maxim 20 de cifre: " ;
cin >> n;
int num_digits = 0 ;
while (n > 0 && num_digits < MAX_DIGITS) {
digits [ num_digits ] = n % 10 ;
n /= 10 ;
num_digits ++;
}
for ( int i = 0 ; i < num_digits / 2 ; i++) {
if ( digits [i] != digits [ num_digits - i - 1 ]) {
is_palindrome = false ;
break ;
}
}
if ( is_palindrome ) {
cout << " Numarul este palindrom." << endl ;
} else {
cout << " Numarul nu este palindrom." << endl ;
}
return 0 ;
}

Pentru a verifica dacă un număr este palindrom, este nevoie să citim cifrele numărului și să le stocăm într-un vector.
După ce am citit cifrele numărului și le-am stocat în vector, putem verifica dacă numărul este palindrom prin a parcurge vectorul cu două indici, unul de la început și unul de la sfârșit, și comparând cifrele de pe aceste poziții. Dacă cifrele sunt egale, continuăm parcurgerea vectorului, altfel putem afirma că numărul nu este palindrom.
De exemplu, dacă citim numărul 12321, putem stoca cifrele 1, 2, 3, 2, 1 într-un vector și să comparăm cifra de pe poziția 0 cu cea de pe poziția 4, pe poziția 1 cu cea de pe poziția 3, iar pe poziția 2 cu ea însăși. Cum cifrele sunt egale, putem concluziona că numărul este palindrom.