Facebook
From asdfasdf, 7 Years ago, written in C++.
Embed
Download Paste or View Raw
Hits: 364
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int const size = 20;
  6.  
  7. void show(){
  8. cout << "Program sluzy do konwersji liczby binarnej na dziesietna : " ;
  9. }
  10. void fill1(int tab[]){   // fill == wypelniac
  11. for(int i=0;i<size;i++)tab[i]=-1;
  12. }
  13. void split(int liczba,int tab[]){
  14.     int i =0;
  15.     while(liczba!=0){
  16.     int tmp = liczba;
  17.     tab[i]=liczba%10;
  18.     liczba = tmp / 10;
  19.     i++;
  20.     }
  21. }
  22. int konwersja(int tab[]){
  23.     int licznik=0;
  24. for(int i=0;i<size;i++){
  25.     if(tab[i]!=-1)licznik ++;
  26. }
  27. int pow = licznik-1;
  28. int suma = 0;
  29. for(int i=size-1;i>=0;i--){
  30.     if(tab[i]!=-1){
  31.             suma = suma + (tab[i] << pow) ;
  32.             pow--;
  33.     }
  34. }
  35. return suma ;
  36. }
  37.  
  38.  
  39. int main()
  40. {
  41.     int tab[size],liczba;
  42.  
  43.     show();
  44.     fill1(tab);
  45.  
  46.     cout << endl;
  47.     cout << "Podaj liczbe w systemie binarnym : " ;
  48.     cin >> liczba;
  49.     split(liczba,tab);
  50.     //for(int i=0;i<size;i++)cout << tab[i] << " " ;
  51.     cout << endl;
  52.     cout << "Liczba w systemie dziesietnym to : " ;
  53.     cout << konwersja(tab) ;
  54.  
  55.  
  56.     return 0;
  57. }