gasaichan

Lab316

Oct 15th, 2017
335
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.32 KB | None | 0 0
  1. #include <iostream>
  2. #include <clocale>
  3. #include <cstdlib>
  4. #include <Windows.h>
  5. #include <ctime>
  6. #include <iomanip>
  7.  
  8. using namespace std;
  9.  
  10. #define ROW 4
  11. #define COLUMN 4
  12.  
  13. int main() {
  14.     setlocale(LC_ALL, "Russian");
  15.     srand(time(0));
  16.     cout.precision(4);
  17.  
  18.     double arr[ROW][COLUMN];
  19.  
  20.     int even = 0;
  21.  
  22.     for (int i = 0; i < ROW; i++) {
  23.         for (int j = 0; j < COLUMN; j++) {
  24.             arr[i][j] = rand() % 100 / (double)8;
  25.             cout << arr[i][j] << "\t";
  26.             if ((int)arr[i][j] % 2 == 0) {
  27.                 even++;
  28.             }
  29.         }
  30.         cout << endl;
  31.     }
  32.  
  33.     cout << "Всего " << even << " четных значений. " << endl;
  34.  
  35.     int iMin = 0, jMin = 0, iMax = 0, jMax = 0;
  36.     double min = arr[0][0], max = arr[0][0];
  37.  
  38.     for (int i = 0; i < ROW; i++) {
  39.         for (int j = 0; j < COLUMN; j++) {
  40.             if (arr[i][j] < min) {
  41.                 min = arr[i][j];
  42.                 iMin = i;
  43.                 jMin = j;
  44.             }
  45.             if (arr[i][j] > max) {
  46.                 max = arr[i][j];
  47.                 iMax = i;
  48.                 jMax = j;
  49.             }
  50.         }
  51.     }
  52.  
  53.     cout << "Минимальный элемент находится на " << iMin + 1 << " строке и " << jMin + 1 << " столбце." << " Он равен " << min << endl;
  54.     cout << "Максимальный элемент находится на " << iMax + 1 << " строке и " << jMax + 1 << " столбце." << " Он равен " << max << endl;
  55.  
  56.     cout << "Массив, состоящий из элементов, лежащих между максимальным и минимальным элементом: " << endl;
  57.     if (iMin * COLUMN + jMin < iMax * COLUMN + jMax) {
  58.         for (int i = iMin; i <= iMin; i++) {
  59.             for (int j = jMin; j < COLUMN; j++) {
  60.                 cout << arr[i][j] << "\t";
  61.             }
  62.         }
  63.         for (int i = iMin + 1; i < iMax; i++) {
  64.             for (int j = 0; j < COLUMN; j++) {
  65.                 cout << arr[i][j] << "\t";
  66.             }
  67.         }
  68.         for (int i = iMax; i <= iMax; i++) {
  69.             for (int j = 0; j <= jMax; j++) {
  70.                 cout << arr[i][j] << "\t";
  71.             }
  72.         }
  73.     }
  74.     else {
  75.         for (int i = iMax; i <= iMax; i++) {
  76.             for (int j = jMax; j < COLUMN; j++) {
  77.                 cout << arr[i][j] << "\t";
  78.             }
  79.         }
  80.         for (int i = iMax + 1; i < iMin; i++) {
  81.             for (int j = 0; j < COLUMN; j++) {
  82.                 cout << arr[i][j] << "\t";
  83.             }
  84.         }
  85.         for (int i = iMin; i <= iMin; i++) {
  86.             for (int j = 0; j <= jMin; j++) {
  87.                 cout << arr[i][j] << "\t";
  88.             }
  89.         }
  90.     }
  91.     cout << endl;
  92.     system("PAUSE");
  93.     return 0;
  94.  
  95. }
Add Comment
Please, Sign In to add comment