#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define N 105
int main() {
int a[N][N];
int row, col;
int flag = 0; // 标记是否找到鞍点
printf("请输入行数:");
scanf("%d", &row);
printf("请输入列数:");
scanf("%d", &col);
// 输入数组
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
scanf("%d", &a[i][j]);
}
}
// 遍历每个元素,检查是否为鞍点
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
int current = a[i][j];
// 检查是否是行最大值
int is_row_max = 1;
for (int k = 0; k < col; k++) {
if (a[i][k] > current) {
is_row_max = 0;
break;
}
}
// 检查是否是列最小值
int is_col_min = 1;
for (int k = 0; k < row; k++) {
if (a[k][j] < current) {
is_col_min = 0;
break;
}
}
// 输出鞍点并标记
if (is_row_max && is_col_min) {
printf("鞍点:%d\n位于第%d行第%d列\n", current, i + 1, j + 1);
flag = 1;
}
}
}
if (flag==0) {
printf("无鞍点");
}
return 0;
}