Advertisement
wrahq

? [Kolokwium 1] Zadanie 2

May 15th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.67 KB | None | 0 0
  1.     /*
  2.    
  3.     *   Stworz tablice (macierz) o rozmiarze definiowanym przez uzytkownika
  4.     od 5x5 do 10x10 i wypelnij ja liczbami losowymi z zakresu[-5;5].
  5.     Macierz musi byc tworzona na stercie.
  6.     *   Wyznacz trzy najwieksze liczby na jednej (glownej) przekatnej
  7.     *   Wyznacz iloraz ilosci liczb dodatnich do liczb ujemnych w
  8.     obrebie calej przekatnej
  9.     *   Wyznacz sume wartosci znajdujacych sie pod parzystymi indeksami wierszy
  10.     i kolumn (zakladajac, ze macierz indeksowana jest od jedynki)
  11.    
  12.     */
  13.    
  14.  
  15. #include<iostream>
  16. #include<ctime>
  17. #include<cstdlib>
  18. using namespace std;
  19.  
  20. int main(){
  21.    
  22.     int a, b;
  23.     cout << "Podaj rozmiar tablicy:" << endl;
  24.     cin >> a;
  25.     cin >> b;
  26.    
  27.    
  28.     if(a>4 && b>4 && a<11 && b<11){
  29.        
  30.         srand(time(0));
  31.        
  32.         cout << "Rozmiar wpisany poprawnie." << endl;
  33.         int** tab = new int*[a];
  34.        
  35.         for(size_t i = 0; i<a; i++){
  36.             tab[i] = new int[b];
  37.         }
  38.        
  39.         for(int i = 0; i<a; i++){
  40.             for(int j = 0; j<b; j++){
  41.                 tab[i][j] = 0;
  42.                 tab[i][j] = (rand()%11)-5;
  43.                 cout << tab[i][j] << " ";
  44.             }
  45.         cout << endl;
  46.         }
  47.        
  48.        
  49.         int spr = -5;
  50.         int dodatnia = 0;
  51.         int ujemna = 0;
  52.         int suma = 0;
  53.        
  54.        
  55.         for(int i = 0; i<a; i++){
  56.             for(int j = 0; j<b; j++){
  57.                
  58.                 if(i==j){
  59.                     if(spr<tab[i][j]){
  60.                         spr=tab[i][j];
  61.                     }
  62.                 }
  63.                
  64.                 if(tab[i][j]>0){
  65.                     dodatnia += 1;
  66.                 }
  67.                
  68.                 else if(tab[i][j]<0){
  69.                     ujemna += 1;
  70.                 }
  71.                
  72.                 if(j%2==0 && i%2==0){
  73.                     suma += tab[i][j];
  74.                 }
  75.             }
  76.         }
  77.        
  78.         cout << spr << " najwieksza" << endl;
  79.         cout << dodatnia*ujemna << " iloraz" << endl;
  80.         cout << suma << " suma" << endl;
  81.        
  82.         return 0;
  83.         }
  84.        
  85.         else{
  86.             cout << "Zle wpisany rozmiarz macierzy" << endl;
  87.         }
  88.  
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement