Finito elborato3.cpp

This commit is contained in:
root 2024-10-18 10:54:29 +00:00
parent 119fec6224
commit 074d33d3f5
1 changed files with 24 additions and 11 deletions

View File

@ -5,29 +5,42 @@ Elaborato 3
#include <iostream> #include <iostream>
using namespace std; using namespace std;
int main(void) { 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: "; cout << "Inserisci un numero intero positivo: ";
cin >> numero; cin >> numero;
cout << endl; cout << endl;
temp = numero; if (numero == 0) {
//Inversione Cifre cout << "Il numero 0 non e' consentito" << endl;
while (temp > 0){ return 0;
resto = numero % 10;
invertito = invertito * 10 + resto;
temp = (numero - resto) / 10;
} }
temp = numero; 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 { do {
temp = temp / 10; temp = temp / 10;
cifre++; cifre++;
} while (temp != 0); } while (temp != 0);
while (cifre > 0) { do {
potenza = potenza * 10; potenza = potenza * 10;
cifre--; cifre--;
} } while (cifre > 0);
complemento = potenza - numero; complemento = potenza - numero;
cout << "Il numero " << numero << "invertito e': " << invertito << endl; //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 complemento a 10 di " << numero << " e': " << complemento << endl;
cout << "Il numero di zeri contenuti nel numero " << numero << " e': " << zeri << endl;
return 0; return 0;
} }