Jordimario

contatoreBaseX

Mar 12th, 2019
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.83 KB | None | 0 0
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <cmath>
  4. using namespace std;
  5.  
  6. ///codice che fa la somma di due numeri espressi in base 2-10.
  7.  
  8. int main()
  9. {
  10. int base=0, numten, inv[100],nume1[100], num2[100],somma[100],i=0,len,conversione=0;
  11. bool riporto=0;
  12.  
  13.  
  14.         ///ciclo per immettere la base senza errori
  15. do{
  16.     cout<<"Inserisci la Base in cui vuoi immettere i numeri"<<endl; ///Messaggio utente
  17.     cin>>base;                                                      ///Immessione di base 'base'
  18.  
  19.         if(base<2 || base>10)cout<<"La base e' compresa solo fra 2 e 10"<<endl; ///controllo per inserzione di base (2<base<10)
  20. }while(base<2 || base>10);
  21.  
  22.  
  23.         ///immette la lunghezza dei due numeri
  24. /*do{
  25.     cout<<"Immetti la lunghezza dei due numeri"<<endl;  ///messaggio utente
  26.     cin>>len;                                           ///immessione di lunghezza 'len'
  27.  
  28.         if(len<0)cout<<"Deve essere un numero positivo"<<endl; ///controllo per inserzione di lunghezza (len>0)
  29. }while(len<0);*/
  30.  
  31. cout<<"inserisci il numero iniziale in base 10"<<endl;   ///messaggio utente
  32. cin>>numten;                                             ///immessione numero in base 10 numten
  33.  
  34.     ///convertire la base 10 in base 'base'
  35. while(numten>1){
  36.     inv[i]=numten%base; ///mette nel vettore la il risultato del numero iniziale modulo base selezionata.
  37.     i++;                 ///aumenta l'indice per passere al prossimo numero della base
  38.     numten=numten/base;  ///il numero iniziale verra diviso per la base per far andare avanti l'operazione
  39. }
  40. inv[i]=numten%base; ///il ciclo si fermerà un numero prima del risultato finale quindi per rirsolvere si mette un istruzione subito dopo il ciclo
  41. len=i;               ///lunghezza del numero nella nuova base inserita'
  42.  
  43. ///ribaltamento vettore
  44. while(i>=0){
  45.     num1[i]=inv[i];
  46.     i--;
  47. }
  48. return 0;
  49. }
Add Comment
Please, Sign In to add comment