鞍点问题

自定义函数找出二维矩阵的鞍点,如果没有鞍点打印相应信息。

鞍点:该元素在矩阵所在的行中最大,所在的列中最小。

矩阵大小不超过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;
}
❤️ 转载文章请注明出处,谢谢!❤️