Buongiorno.
Ho un altro problema: utilizzando solamente "while" e "if-else" (quindi niente "for" o "array") devo ricevere da tastiera un numero intero e determinare se è palindromo o meno. Per far questo devo prima di tutto separare le cifre che compongono il numero, per confrontarle. Quindi se dalla tastiera ricevessi "23432", dovrei separare le cifre "2", "3", "4", ... Ma come posso separare le cifre senza memorizzarle in un array?
Grazie
P.S: Il numero deve essere di 5 cifre.
Io ho scritto il codice (che sicuramente non è dei più efficienti):
codice:
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
unsigned int numero = 0;
cout << "Inserisci un numero di 5 cifre: ";
cin >> numero;
if(numero > 9999 && numero <= 99999)
{
unsigned int quattrocifre, trecifre, duecifre, unacifra, zerocifra;
unsigned int primacifra, secondacifra, terzacifra, quartacifra, quintacifra;
cout << "Ok!" << endl << endl;
quattrocifre = numero % 10000;
trecifre = quattrocifre % 1000;
duecifre = trecifre % 100;
unacifra = duecifre % 10;
zerocifra = unacifra % 1;
primacifra = (numero - quattrocifre) / 10000;
secondacifra = (quattrocifre - trecifre) / 1000;
terzacifra = (trecifre - duecifre) / 100;
quartacifra = (duecifre - unacifra) / 10;
quintacifra = (unacifra - zerocifra);
cout << primacifra << secondacifra << terzacifra << quartacifra << quintacifra << endl;
}
else
{
cout << "Il numero non e' di 5 cifre!" << endl << endl;
}
system("pause");
return 0;
}
Si può migliorare?