Элемент матрицы назовем седловой точкой, если он является одновременно наименьшим в своей строке и наибольшим в своем столбце. Составить программу, вводящую с клавиатуры матрице размером 4 х 5 и выводящую на экран номера строки и столбца какой-нибудь седловой точки (если ни одна седловая точка не найдена, надо вывесте сообщение об ошибке).
Пример: введена матрица 1 5 2 1 8
6 8 6 3 1
8 9 7 8 9
7 1 1 0 9
то программа должна вывести на экран:
2 2
#include <iostream>
using namespace std;
int mas[4][5];
bool IsMin(int m,int v);
bool IsMax(int m,int v);
void main()
{
cout<<"Введите матрицу\n";
for(int i=0;i<4;i++)
cin>>mas[i][0]>>mas[i][1]>>mas[i][2]>>mas[i][3]>>mas[i][4];
int cCounter=0;
for(int i=0;i<4;i++)
{
for(int j=0;j<5;j++)
{
if(IsMin(i,j) && IsMax(i,j))
{
cCounter++;
cout<<i<<' '<<j<<endl;
}
}
}
if(cCounter==0)
cout<<"Error... Не могу найти седлову точку\n";
}
bool IsMin(int m,int v)
{
int min=mas[m][v];
for(int i=0;i<5;i++)
if(min>mas[m][i])
return false;
return true;
}
bool IsMax(int m,int v)
{
int max=mas[m][v];
for(int i=0;i<4;i++)
if(max<mas[i][v])
return false;
return true;
}