找鞍点
// 找鞍点 鞍点就是马鞍中间的那些临界点,在当前所在行是最小,在当前所在列是最大。
#include <iostream>
using namespace std;
int main() {
int i, j, a[4][5], k = 0;
for (i = 0;i < 4; ++i)
for (j = 0;j < 5; ++j)
cin >> a[i][j];
int b[4], c[5];
// 找出每行的最小值
for (i = 0;i < 4; ++i) {
b[i] = a[i][0];
for (j = 1;j < 5; ++j) {
if (b[i] > a[i][j])
b[i] = a[i][j];
}
}
// 找出每列的最大值
for (i = 0;i < 5; ++i) {
c[i] = a[0][i];
for (j = 1;j < 4; ++j) {
if (c[i] < a[j][i])
c[i] = a[j][i];
}
}
// 找出鞍点并输出
for (i = 0;i < 4; ++i)
for (j = 0;j < 5; ++j)
if (b[i] == a[i][j] && c[j] == a[i][j]) {
cout << a[i][j] << endl;
++k;
}
cout << k << endl;
return 0;
}