Advertisement
Kulagina_JuliA

СЕДЛОВАЯ

May 24th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.81 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include<iostream>
  3.  
  4. using namespace std;
  5.  
  6. bool E(int**a, int n)
  7. {
  8.     bool k = false;
  9.     int i, j, min, mini, minj, max;
  10.     for (i = 0;i < n&&k == false;i++)///////////цикл по строчкам пока не найдем седловую точку
  11.     {
  12.         min = a[i][0];/////минимальным берем 1 элемент в итой строчке записываем его адрес в переменны
  13.         mini = i;
  14.         minj = 0;
  15.         for (j = 0;j < n && k == false;j++)/////цикл по столбцам чтобы найти минимальный в строчке
  16.         {
  17.             if (a[i][j] < min)
  18.             {
  19.                 min = a[i][j];
  20.                 mini = i;
  21.                 minj = j;
  22.             }
  23.             if (j == n - 1)////////доходим до конца и найденый минимальный элемент делаем максимальным в строчке
  24.             {
  25.                 max = a[mini][minj];
  26.                 for (int y = 0; y < n;y++)
  27.                 {
  28.                     if (max < a[y][minj])
  29.                         max = a[y][minj];
  30.                     if (y == n - 1 && max == min)///доходим до конца и сравниваем минимальный с максимальным, если равны то правда
  31.                     {
  32.                         k = true;
  33.                     }
  34.                 }
  35.             }
  36.         }
  37.     }
  38.     return k;
  39. }
  40. int main()
  41. {
  42.     setlocale(LC_ALL, "Russian");
  43.     int n;
  44.     cout << "Vvedite rasmernost matrici ";
  45.     cin >> n;
  46.     int**mat;
  47.     mat = new int*[n];
  48.     for (int i = 0; i < n; i++)
  49.     {
  50.         mat[i] = new int[n];
  51.     }
  52.     cout << "Vvedite matricy" << endl;
  53.     for (int i = 0;i < n;i++)
  54.     {
  55.         for (int j = 0;j < n;j++)
  56.         {
  57.             cin >> mat[i][j];
  58.         }
  59.     }
  60.     bool j;
  61.     j = E(mat, n);
  62.     if (j == true)
  63.         cout << "V matrice est sedlovie tochki" << endl;
  64.     else
  65.         cout << "V matrice net sedlovih tohek" << endl;
  66.     return 0;/////////////минимальный в строке, максимальны в столбце
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement