/*
AUTORE: Manuel Vichi
Elaborato 3
*/
#include <iostream>
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;
}
