Finito elborato3.cpp
This commit is contained in:
parent
119fec6224
commit
074d33d3f5
|
@ -5,29 +5,42 @@ Elaborato 3
|
|||
#include <iostream>
|
||||
using namespace std;
|
||||
int main(void) {
|
||||
unsigned int numero,invertito = 0,resto,complemento,cifre = 1,temp = 0,potenza = 1;
|
||||
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;
|
||||
temp = numero;
|
||||
//Inversione Cifre
|
||||
while (temp > 0){
|
||||
resto = numero % 10;
|
||||
invertito = invertito * 10 + resto;
|
||||
temp = (numero - resto) / 10;
|
||||
if (numero == 0) {
|
||||
cout << "Il numero 0 non e' consentito" << endl;
|
||||
return 0;
|
||||
}
|
||||
temp = numero;
|
||||
//Complemento a 10
|
||||
//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);
|
||||
while (cifre > 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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue