Advertisement
MeehoweCK

Untitled

Aug 12th, 2021
642
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.06 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctime>
  3. #include <cstdlib>
  4.  
  5. using namespace std;
  6.  
  7. const short N = 6;
  8.  
  9. void wypelnij_tablice(short tab[][N])
  10. {
  11.     srand(time(nullptr));
  12.     for(short i = 0; i < N; ++i)
  13.         for(short j = 0; j < N; ++j)
  14.             tab[i][j] = rand() % 101;
  15. }
  16.  
  17. void wypisz_tablice(short tab[][N])
  18. {
  19.     for(short i = 0; i < N; ++i)
  20.     {
  21.         for(short j = 0; j < N; ++j)
  22.             cout << tab[i][j] << '\t';
  23.         cout << endl;
  24.     }
  25. }
  26.  
  27. void wypisz_sumy_wierszy(short tab[][N], short* sumy)
  28. {
  29.     short suma;
  30.     for(short i = 0; i < N; ++i)
  31.     {
  32.         suma = 0;
  33.         for(short j = 0; j < N; ++j)
  34.             suma += tab[i][j];
  35.         cout << "Wiersz " << i + 1 << ": " << suma << endl;
  36.         sumy[i] = suma;
  37.     }
  38. }
  39.  
  40. void sortuj_wierszami(short tab[][N], short* sumy)
  41. {
  42.     short numery[N];
  43.     for(short i = 0; i < N; ++i)
  44.         numery[i] = i;
  45.  
  46.     // ustalenie kolejności wierszy
  47.     for(short i = 0; i < N - 1; ++i)
  48.         for(short j = 0; j < N - i - 1; ++j)
  49.             if(sumy[j] < sumy[j + 1])
  50.             {
  51.                 swap(sumy[j], sumy[j + 1]);
  52.                 swap(numery[j], numery[j + 1]);
  53.             }
  54.     short temp[N][N];
  55.  
  56.     for(short i = 0; i < N; ++i)
  57.         for(short j = 0; j < N; ++j)
  58.             temp[i][j] = tab[numery[i]][j];
  59.     for(short i = 0; i < N; ++i)
  60.         for(short j = 0; j < N; ++j)
  61.             tab[i][j] = temp[i][j];
  62. }
  63.  
  64. void transponuj(short tab[][N])
  65. {
  66.     short temp[N][N];
  67.  
  68.     for(short i = 0; i < N; ++i)
  69.         for(short j = 0; j < N; ++j)
  70.             temp[i][j] = tab[j][i];
  71.     for(short i = 0; i < N; ++i)
  72.         for(short j = 0; j < N; ++j)
  73.             tab[i][j] = temp[i][j];
  74. }
  75.  
  76. int main()
  77. {
  78.     short tablica[N][N];
  79.     wypelnij_tablice(tablica);
  80.     wypisz_tablice(tablica);
  81.     short sumy[N];
  82.     cout << endl;
  83.     wypisz_sumy_wierszy(tablica, sumy);
  84.     sortuj_wierszami(tablica, sumy);
  85.     cout << endl;
  86.     wypisz_tablice(tablica);
  87.     cout << endl;
  88.     transponuj(tablica);
  89.     wypisz_tablice(tablica);
  90.     return 0;
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement