/* AUTORE: Manuel Vichi Elaborato 3 */ #include using namespace std; int main(void) { unsigned int numero = 0,invertito = 0,resto,complemento,cifre = 0,temp = 0,potenza = 1,zeri = 0; cout << "Inserisci un numero intero positivo: "; cin >> numero; cout << endl; if (numero == 0) { cout << "Il numero 0 non e' consentito" << endl; return 0; } temp = numero; //Inversione Cifre do { resto = temp % 10; invertito = (invertito * 10) + resto; temp = temp / 10; } while (temp != 0); //Complemento a 10: conta il numero di cifre per la potenza di 10. temp = numero; do { temp = temp / 10; cifre++; } while (temp != 0); do { potenza = potenza * 10; cifre--; } while (cifre > 0); complemento = potenza - numero; //Conta gli zeri temp = numero; while (temp > 0) { if (temp % 10 == 0) { zeri++; } temp /= 10; // Rimuoviamo l'ultima cifra } cout << "Il numero " << numero << " invertito e': " << invertito << endl; cout << "Il complemento a 10 di " << numero << " e': " << complemento << endl; cout << "Il numero di zeri contenuti nel numero " << numero << " e': " << zeri << endl; return 0; }