Advertisement
SomniP

Обработка двумерного массива

Nov 1st, 2018
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.61 KB | None | 0 0
  1. #include <iostream>
  2. #include <windows.h>
  3. #include <cstdlib>
  4. #include <ctime>
  5. #include <iomanip>
  6.  
  7. using namespace std;
  8.  
  9. int main()
  10. {
  11.     SetConsoleCP(1251);
  12.     SetConsoleOutputCP(1251);
  13.     srand(time(0));
  14.     system("color 0A");
  15.  
  16.     cout << "Исходный массив" << endl;
  17.     int a[5][6];
  18.     for (size_t u = 0u; u < 5u; ++u)
  19.     {
  20.         for (size_t p = 0u; p < 6u; ++p)
  21.         {
  22.             int temp;
  23.             if (rand() % 6 == 0)
  24.             {
  25.                 temp = -10 + rand() % 21;
  26.             }
  27.             else
  28.             {
  29.                 temp = -10 + rand() % 4;
  30.             }
  31.             a[u][p] = temp;
  32.             cout << setw(5) << temp << " ";
  33.         }
  34.         cout << endl;
  35.     }
  36.     cout << endl;
  37.     cout << "Минимальные элементы по строкам не проваливающиеся за -7" << endl;
  38.     for (size_t u = 0u; u < 5u; ++u)
  39.     {
  40.         cout << "В строке с индексом " << u;
  41.         auto min_ = 0;
  42.         auto flag = false;
  43.         for (size_t p = 0u; p < 6u; ++p)
  44.         {
  45.             if (a[u][p] > -7)
  46.             {
  47.                 min_ = a[u][p];
  48.                 flag = true;
  49.                 break;
  50.             }
  51.         }
  52.         if (flag)
  53.         {
  54.             for (size_t p = 0u; p < 6u; ++p)
  55.             {
  56.                 auto now = a[u][p];
  57.                 min_ = now <= min_ && now > -7 ? now : min_;
  58.                 a[u][p] = now < 0 ? abs(now) : now;
  59.             }
  60.             cout << " min = " << min_ << endl;
  61.         }
  62.         else
  63.         {
  64.             for (size_t p = 0u; p < 6u; ++p)
  65.             {
  66.                 a[u][p] = 0;
  67.             }
  68.             cout << " нет минимума больше -7" << endl;
  69.         }
  70.     }
  71.     cout << endl;
  72.     cout << "Обработанный массив" << endl;
  73.     for (size_t u = 0u; u < 5u; ++u)
  74.     {
  75.         for (size_t p = 0u; p < 6u; ++p)
  76.         {
  77.             cout << setw(5) << a[u][p] << " ";
  78.         }
  79.         cout << endl;
  80.     }
  81.     cout << endl;
  82.  
  83.     system("pause");
  84.     return 0;
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement