Odense

Task 3

Jan 29th, 2021 (edited)
894
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.42 KB | None | 0 0
  1. #include <stdio.h>
  2. #define ROW 10
  3. #define COL 10
  4.  
  5. int main()
  6. {
  7.     int i, j, k, n, min, max, matrix[ROW][COL], pos[2][2];
  8.  
  9.     //считывание размерности матрицы, (к примеру, если ввести 3, то будет матрица размером 3х3)
  10.     printf("Enter the order of the matrix: ");
  11.     scanf("%d", &n);
  12.  
  13.     //поочерёдное заполнение строк матрицы значениями (к примеру, в матрице 3х3 нужно будет ввести 9 чисел)
  14.     printf("Enter your entries for the input matrix:\n");
  15.     for (i = 0; i < n; i++)
  16.     {
  17.         for (j = 0; j < n; j++)
  18.         {
  19.             scanf("%d", &matrix[i][j]);
  20.         }
  21.     }
  22.        
  23.     //вывод матрицы
  24.     for (i = 0; i < n; i++)
  25.     {
  26.         for (j = 0; j < n; j++)
  27.         {
  28.             printf("%d ", matrix[i][j]);
  29.         }
  30.         printf("\n");
  31.     }
  32.  
  33.     //поиск минимального числа в строке
  34.     for (i = 0; i < n; i++)
  35.     {
  36.         min = matrix[i][0];
  37.         for (j = 0; j < n; j++)
  38.         {
  39.             if (min >= matrix[i][j])
  40.             {
  41.                 min = matrix[i][j];
  42.                 pos[0][0] = i;
  43.                 pos[0][1] = j;
  44.             }
  45.         }
  46.  
  47.         j = pos[0][1];
  48.         //поиск максимального числа в столбце
  49.         max = matrix[0][j];
  50.         for (k = 0; k < n; k++)
  51.         {
  52.             if (max <= matrix[k][j])
  53.             {
  54.                 max = matrix[i][j];
  55.                 pos[1][0] = k;
  56.                 pos[1][1] = j;
  57.             }
  58.         }
  59.     }
  60.  
  61.     //финальная проверка найденных чисел на соответствие условию (минимальный элемент в
  62.     //соответствующей строке матрицы и максимальный элемент в соответствующем столбце матрицы)
  63.     //минимальный элемент в строке и максимальный в столбце - должны быть одним и тем же числом
  64.     if (min == max)
  65.     {
  66.         if (pos[0][0] == pos[1][0] && pos[0][1] == pos[1][1])
  67.             printf("Saddle point (%d, %d): %d\n", pos[0][0], pos[0][1], max);
  68.         else
  69.             printf("Here are no saddle points in this matrix!");
  70.     }
  71.        
  72.     return 0;
  73. }
Add Comment
Please, Sign In to add comment