关于鞍点的简单求法:
#include <iostream>
using namespace std;
#define n 4
int main()
{
/********* Begin *********/
int a[n][n],b[n][n];
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
cin >> a[i][j];
}
}
int r,l,max,k=1;
for (int i = 0; i < n; i++)
{
max = a[i][0];
for (int j = 0; j < n; j++)
{
if (a[i][j] > max)
{
max = a[i][j], l = j;
}
}
for (int j = 0; j < n; j++)
{
if (a[i][j] == max)
{
b[i][j] = max;
}
}
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (b[i][j]==a[i][j]&& b[i][j] <=a[0][j] && b[i][j] <=a[1][j] && b[i][j] <= a[2][j] && b[i][j] <= a[3][j])
{
cout << "[" << i << "]" << "[" << j << "]" << "=" << b[i][j] << endl;
}
}
}
/********* End *********/
return 0;
}