Facebook
From Sole Duck, 7 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 297
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4.  
  5. void zamiana(int n, int g)
  6. {
  7.         int a=n, ile_razy=0, c=0, reszta;
  8.         while(a!=0)
  9.         {
  10.                 a/=g;
  11.                 ile_razy++;
  12.         }
  13.         int tab[ile_razy];
  14.         while(n!=0)
  15.         {
  16.                 tab[c]=n%g;
  17.                 n/=g;
  18.                 c++;   
  19.         }
  20.         for(int g=ile_razy-1; g>=0; g--) cout << tab[g];       
  21. }
  22.  
  23. void na_16(int n, int g)
  24. {
  25.         int a=n, ile_razy=0, c=0, reszta;
  26.         while(a!=0)
  27.         {
  28.                 a/=g;
  29.                 ile_razy++;
  30.         }
  31.         char tab[ile_razy];
  32.        
  33.         while(n!=0)
  34.         {
  35.                
  36.                 switch(n%16)
  37.                 {
  38.                         case 10: tab[c]='A';
  39.                         break;
  40.                         case 11: tab[c]='B';
  41.                         break;
  42.                         case 12: tab[c]='C';
  43.                         break;
  44.                         case 13: tab[c]='D';
  45.                         break;
  46.                         case 14: tab[c]='E';
  47.                         break;
  48.                         case 15: tab[c]='F';
  49.                         break;
  50.                         default: tab[c]=n%16+48;
  51.                         break;
  52.                 }
  53.                
  54.                 n/=16;
  55.                 c++;   
  56.         }
  57.         for(int g=ile_razy-1; g>=0; g--) cout << tab[g];
  58.        
  59.        
  60. }
  61.  
  62.  
  63. int main()
  64. {
  65.         int n, g;
  66.         cout << "Podaj liczbe do zamiany: "; cin >> n;
  67.         cout << "Podaj XDpodstawe potegi: "; cin >> g;
  68.         cout << "Zamieniona liczba o podstawie potegi: "<< g << ": ";
  69.         if(g<=10) zamiana(n, g);
  70.         else if(g==16) na_16(n, g);
  71.        
  72.        
  73.        
  74.        
  75.        
  76.         return 0;
  77. }