Update funzioni/inverti_numero.cpp

This commit is contained in:
Vichingo455 2024-11-24 09:04:10 +00:00
parent 441c4fca0c
commit 49dd35348a
1 changed files with 51 additions and 51 deletions

View File

@ -1,51 +1,51 @@
/* /*
AUTORE: Manuel Vichi AUTORE: Manuel Vichi
Inversione di un numero, complemento a 10, numero di cifre Inversione di un numero, complemento a 10, numero di cifre
*/ */
#include <iostream> #include <iostream>
#include <array> #include <array>
#include <vector> #include <vector>
#include <cstdlib> #include <cstdlib>
using namespace std; using namespace std;
int invertiNumero(int numero) { int invertiNumero(int numero) {
int resto = 0, invertito = 0, temp = numero; int resto = 0, invertito = 0, temp = numero;
do { do {
resto = temp % 10; resto = temp % 10;
invertito = (invertito * 10) + resto; invertito = (invertito * 10) + resto;
temp = temp / 10; temp = temp / 10;
} while (temp != 0); } while (temp != 0);
return invertito; return invertito;
} }
int complementoA10(int numero) { int complementoA10(int numero) {
int cifre = 0, potenza = 1, complemento, temp = numero; int cifre = 0, potenza = 1, complemento, temp = numero;
do { do {
temp = temp / 10; temp = temp / 10;
cifre++; cifre++;
} while (temp != 0); } while (temp != 0);
do { do {
potenza = potenza * 10; potenza = potenza * 10;
cifre--; cifre--;
} while (cifre > 0); } while (cifre > 0);
complemento = potenza - numero; complemento = potenza - numero;
return complemento; return complemento;
} }
int contaZeri(int numero) { int contaZeri(int numero) {
int zeri = 0, temp = numero; int zeri = 0, temp = numero;
while (temp > 0) { while (temp > 0) {
if (temp % 10 == 0) { if (temp % 10 == 0) {
zeri++; zeri++;
} }
temp /= 10; // Rimuoviamo l'ultima cifra temp /= 10;
} }
return zeri; return zeri;
} }
int main() { int main() {
int numero; int numero;
cout << "Inserisci un numero: "; cout << "Inserisci un numero: ";
cin >> numero; cin >> numero;
cout << endl << "Il numero invertito e': " << invertiNumero(numero) << endl << "Il complemento a 10 del numero e': " << complementoA10(numero) << endl << "Il numero di zeri nel numero e': " << contaZeri(numero) << endl; cout << endl << "Il numero invertito e': " << invertiNumero(numero) << endl << "Il complemento a 10 del numero e': " << complementoA10(numero) << endl << "Il numero di zeri nel numero e': " << contaZeri(numero) << endl;
return 0; return 0;
} }