Advertisement
wrahq

[Kolokwium 1] Zadanie 1

May 13th, 2019
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.50 KB | None | 0 0
  1.      /*
  2.    
  3.     Napisz program, ktory wyswietla tabliczke mnozenia, ktorej rozmiar
  4.     podaje uzytkownik (od 2x2 do 20x20), ale zapisana w kodzie binarnym.
  5.     Zadbaj o poprawnosc rozmiaru tabliczki mnozenia (walidacja wejscia od
  6.     uzytkownika). Tablica przechowujaca dane musi byc deklarowana na sterci.
  7.     Zadbaj o odpowiednia alokacje i zwalnianie pamieci po wypisaniu tabliczki.
  8.    
  9.     */
  10.  
  11. #include<iostream>
  12. using namespace std;
  13.    
  14.     void binarna(int liczba){
  15.         int i=0;
  16.         int n = 20;
  17.         int* tab = new int[n];
  18.  
  19.         while(liczba!=0) //dopóki liczba bedzie rozna od zera
  20.         {
  21.             tab[i++]=liczba%2;
  22.             liczba=liczba/2;
  23.         }
  24.  
  25.         for(int j=i-1;j>=0;j--)
  26.             cout<<tab[j];
  27.        
  28.         delete []tab;
  29.     }
  30.  
  31.     int bin;
  32.    
  33.    
  34. int main(){
  35.  
  36.  
  37.     cout << endl;
  38.     cout << "\t Tabliczka mnozenia." << endl;
  39.    
  40.     int wielkosc;
  41.     cout << "Jaka wielkosc ma miec Twoja tabliczka? ";
  42.     cin >> wielkosc;
  43.     cout << endl;
  44.    
  45.     if((wielkosc<21)&&(wielkosc>1)){
  46.    
  47.         for(int i = 1; i<=wielkosc; i++){
  48.            
  49.             for(int j = 1; j<=wielkosc; j++){
  50.                 bin = j*i;
  51.                 binarna(bin);
  52.                 cout << "\t";
  53.             }
  54.            
  55.             cout << endl;
  56.         }
  57.     }
  58.    
  59.     else
  60.         cout << "Dozwolony rozmiar tabliczki miesci sie w przedziale od 2 do 20.." << endl;
  61.        
  62.        
  63.     cin.ignore();
  64.     cin.get();
  65.    
  66. return 0;
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement