MeehoweCK

Untitled

Jun 14th, 2024
444
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.27 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <ctime>
  4. using namespace std;
  5. const int A = 15;
  6. const auto MAX{ 1000 };
  7.  
  8.  
  9. void wypelni(int tab[][A])
  10. {
  11.  
  12.     for (int i = 0; i < A; ++i)
  13.     {
  14.         for (int j = 0; j < A; ++j)
  15.         {
  16.             tab[i][j] = rand() % MAX;
  17.         }
  18.  
  19.     }
  20. }
  21.  
  22. void wypisz(int tab[][A])
  23. {
  24.     for (int i = 0; i < A; ++i)
  25.     {
  26.         for (int j = 0; j < A; ++j)
  27.         {
  28.             cout << tab[i][j] << '\t';
  29.         }
  30.         cout << endl;
  31.     }
  32.  
  33. }
  34. void wartoscMinMax(int tab[][A])
  35. {
  36.     auto najmniejsza{ tab[0][0] }, najwieksza{ tab[0][0] };
  37.     auto w_min{ 0 }, w_max{ 0 }, k_min{ 0 }, k_max{ 0 };
  38.     // sprawdzenie pozostałych elementów zerowego wiersza:
  39.     for (int i{ 1 }; i < A; ++i) {
  40.         if (tab[0][i] < najmniejsza) {
  41.             najmniejsza = tab[0][i];
  42.             k_min = i;
  43.         }
  44.         else if (tab[0][i] > najwieksza) {
  45.             najwieksza = tab[0][i];
  46.             k_max = i;
  47.         }
  48.     }
  49.     // sprawdzenie pozostałych elementów ostatniej kolumny:
  50.     const auto k{ A - 1 };
  51.     for (int i{ 1 }; i < A; ++i) {
  52.         if (tab[0][i] < najmniejsza) {
  53.             najmniejsza = tab[i][k];
  54.             k_min = k;
  55.             w_min = i;
  56.         }
  57.         else if (tab[0][i] > najwieksza) {
  58.             najwieksza = tab[i][k];
  59.             k_max = k;
  60.             w_max = i;
  61.         }
  62.     }
  63.     // sprawdzenie pozostałych elementów ostatniego wiersza:
  64.     for (int i{ 0 }; i < k; ++i) {
  65.         if (tab[k][i] < najmniejsza) {
  66.             najmniejsza = tab[k][i];
  67.             k_min = i;
  68.             w_min = k;
  69.         }
  70.         else if (tab[k][i] > najwieksza) {
  71.             najwieksza = tab[k][i];
  72.             k_max = i;
  73.             w_max = k;
  74.         }
  75.     }
  76.     // sprawdzenie pozostałych elementów zerowej kolumny:
  77.     for (int i{ 1 }; i < k; ++i) {
  78.         if (tab[i][0] < najmniejsza) {
  79.             najmniejsza = tab[i][0];
  80.             k_min = 0;
  81.             w_min = i;
  82.         }
  83.         else if (tab[i][0] > najwieksza) {
  84.             najwieksza = tab[i][0];
  85.             k_max = 0;
  86.             w_max = i;
  87.         }
  88.     }
  89.     std::cout << "Najwieksza wartosc na obwodzie znajduje sie na polu [" << w_max << "][" << k_max << "] i wynosi " << najwieksza << std::endl;
  90.     std::cout << "Najmniejsza wartosc na obwodzie znajduje sie na polu [" << w_min << "][" << k_min << "] i wynosi " << najmniejsza << std::endl;
  91.     std::swap(tab[w_min][k_min], tab[w_max][k_max]);
  92.     std::cout << "\nTablica po zamianie miejscami:\n";
  93.     wypisz(tab);
  94. }
  95.  
  96.  
  97. int main()
  98. {
  99.     int tablica2w[A][A];
  100.     srand(time(nullptr));
  101.     wypelni(tablica2w);
  102.     wypisz(tablica2w);
  103.     wartoscMinMax(tablica2w);
  104.     return 0;
  105. }
Advertisement
Add Comment
Please, Sign In to add comment