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