鞍点问题
自定义函数找出二维矩阵的鞍点,如果没有鞍点打印相应信息。
鞍点:该元素在矩阵所在的行中最大,所在的列中最小。
矩阵大小不超过5*5
输入:
矩阵的行数 矩阵的列数
矩阵每一行的数字
测试输入:
4 4
4 4 5 5
1 2 5 4
1 2 4 3
8 9 6 8
期待输出:
第3行第3列是鞍点,鞍点是:4
#include<stdio.h>
int main() {
int hang, lie, c, max, d, i, j;
printf("输入矩阵的行数列数:\n");
scanf("%d%d", &hang, &lie);
int a[hang][lie];
printf("输入矩阵:\n");
for (i = 1; i <= hang; i++)
for (j = 1; j <= lie; j++)
scanf("%d", &a[i][j]);
d = 0;
for (i = 1; i <= hang; i++) {
c = 0;
max = 1;
for (j = 1; j <= lie; j++)
max = a[i][max] > a[i][j] ? max : j;
for (j = 1; j <= hang; j++) {
if (a[i][max] <= a[j][max])
continue;
else {
c++;
break;
}
}
if (c == 0) {
d++;
printf("第%d行,第%d列是鞍点,鞍点是:%d\n", i, max, a[i][max]);
}
}
if (d == 0)
printf("没有鞍点。");
return 0;
}
❤️ 转载文章请注明出处,谢谢!❤️