volevo sapere
1) se è possibile contare le cifre utilizzando scanf
2)devo scrivere un altro programma che dal numero "crittografato" passa a quello originale quindi come è la formula inversa:
(cifra - 7) ??? (quindi come si ricava il modulo al contrario insomma)??
il codice che ho scritto fin ora è questo:
Codice: Seleziona tutto
#include <stdio.h>
int main(){
int number; // numero in entrata
int i; // indice del vettore
int cifre[4]; // vettore che salva le cifre di number
int cifre_critt[4]; // cifre crittografate
int tmp; // variabile temporanea per invertire il vettore
int state = 1;
while(state){
printf("Inserire un numero di 4 cifre: ");
scanf("%d", &number);
if(number > 999 && number < 9999){// qua ho sbagliato il controllo solo dopo ho pensato che l'input poteva
state = 0; // essere per esempio 0239
}
else{
printf("in numero inserito non è di 4 cifre\n");
}
}
for(i = 0; i < 4; i++){
cifre[i] = number % 10;
cifre_critt[i] = (cifre[i] + 7) % 10;
number /= 10;
}
tmp = cifre_critt[0];
cifre_critt[0] = cifre_critt[2];
cifre_critt[2] = tmp;
tmp = cifre_critt[1];
cifre_critt[1] = cifre_critt[3];
cifre_critt[3] = tmp;
for(i = 0; i < 4; ++i){
printf("%d", cifre_critt[i]);
}
printf("\n");
return 0;
}

