Advertisement
MeehoweCK

Untitled

Nov 8th, 2020
1,861
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.78 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <ctime>
  4.  
  5. using namespace std;
  6.  
  7. const int N = 6;
  8.  
  9. void wypelnij_losowo(int tab[][N])
  10. {
  11.     srand(time(nullptr));
  12.  
  13.     for(int i = 0; i < N; ++i)
  14.         for(int j = 0; j < N; ++j)
  15.             tab[i][j] = rand();
  16. }
  17.  
  18. void wydrukuj_tablice(int tab[][N])
  19. {
  20.     for(int i = 0; i < N; ++i)
  21.     {
  22.         for(int j = 0; j < N; ++j)
  23.             cout << tab[i][j] << '\t';
  24.         cout << endl;
  25.     }
  26. }
  27.  
  28. int main()
  29. {
  30.     int tab[N][N];
  31.     wypelnij_losowo(tab);
  32.     wydrukuj_tablice(tab);
  33.  
  34.     // znajdowanie dwóch największych liczb na przekątnych:
  35.     int a = tab[0][0];
  36.     int b = tab[1][1];
  37.     int a_i = 0, a_j = 0, b_i = 1, b_j = 1;
  38.     if(b > a)
  39.     {
  40.         swap(a, b);
  41.         swap(a_i, b_i);
  42.         swap(a_j, b_j);
  43.     }
  44.  
  45.     for(int i = 0; i < N; ++i)
  46.         for(int j = 0; j < N; ++j)
  47.         {
  48.             if(i == j || i == N - j - 1)
  49.             {
  50.                 // sprawdzamy czy dany element jest większy od dotychczas największego:
  51.                 if(tab[i][j] > a)
  52.                 {
  53.                     b = a;
  54.                     b_i = a_i;
  55.                     b_j = a_j;
  56.                     a = tab[i][j];
  57.                     a_i = i;
  58.                     a_j = j;
  59.                 }
  60.                 // sprawdzamy czy dany element jest większy od dotychczas drugiego największego:
  61.                 else if(tab[i][j] > b)
  62.                 {
  63.                     b = tab[i][j];
  64.                     b_i = i;
  65.                     b_j = j;
  66.                 }
  67.             }
  68.         }
  69.  
  70.     cout << endl << "Najwieksze wartosci na przekatnych wynosza " << a << " oraz " << b << endl;
  71.     tab[a_i][a_j] = 0;
  72.     tab[b_i][b_j] = 0;
  73.     cout << endl;
  74.     wydrukuj_tablice(tab);
  75.  
  76.     return 0;
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement