Advertisement
Guest User

Untitled

a guest
Feb 18th, 2020
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.66 KB | None | 0 0
  1. // IDEA: partendo da 4321
  2.     // 1) Trovo ogni volta la prima cifra dividendo per 10 fino a che il numero non รจ minore di 10
  3.     // quindi faccio un ciclo while!
  4.     // Di fatto ogni volta che entro nel ciclo scarto l'ultima cifra del numero input
  5.     // in questo caso dopo 3 divisioni per 10 ho ottenuto la prima cifra -> 4 !!!
  6.     // con cont tengo conto delle iterazioni all'interno del while, ossia il numero delle volte che faccio la divisione -> 3 !!!
  7.    
  8.     // 2) Quando ho trovato la prima cifra la stampo (stamo 4 quindi), poi devo effettuare un operazione di questo tipo 4321 -> 321
  9.     // ossia scarto la prima cifra... come faccio?????
  10.     // riduco l'input di: cifraTrovata(ossia 4) * 10^(cont) numero di itreazioni per scartare le cifre precedenti alla prima cifra
  11.     // qundi ho 4321 - 4000 -> 321 !!!!
  12.    
  13.     // ripeto, quindi il ciclo while di prima lo metto all'interno di un altro ciclo while
  14.     // che termina quando l'input copy diventa 0.
  15.    
  16.     // NB questo codice non funziona per numeri con 0 all'interno, o meglio, non li stampa a video gli zeri.
  17.  
  18.     int input, inputCopy, cont = 0, sottrazione;
  19.     scanf("%d", &input);
  20.     inputCopy = input;
  21.    
  22.     inputCopy = input;
  23.  
  24.     while (inputCopy > 0) {
  25.         while (inputCopy > 10) {
  26.             inputCopy = inputCopy / 10;
  27.             cont++;
  28.         }
  29.         printf("%d ", inputCopy);
  30.         // pow(numero, potenza) mi fa calcolare una potenza, se non l'avete fatto potete usare un while con un contatore per calcolarvela!
  31.         sottrazione = inputCopy * pow(10, cont);
  32.         inputCopy = input - sottrazione;
  33.         input = input - sottrazione;
  34.         cont = 0;
  35.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement