找出一个二维数组中的“鞍点”,即该位置上的元素在该行中最大,在该列中最小(也可能没鞍点),打印出有关信息

来源:互联网 发布:网络战 编辑:程序博客网 时间:2024/06/05 19:15

    int a[3][3] = {0}, row =0, column = 0, max = 0;

    for (int i = 0; i < 3; i++) {

        for (int j =0; j < 3; j++) {

            a[i][j] = arc4random() % 1000;

            printf("%d ", a[i][j]);

        }

         printf("\n");

    }

    for (int i = 0; i < 3; i++) {

        for (int j =0; j < 3; j++) {

            if (max < a[i][j]) {

                max = a[i][j];

                row = i;

                column = j;

            }

        }

        for (int k =0; k < 3; k++) {

            if (max > a[k][column]) {

                break;

            } else if (max < a[k][column]) {

                if (k == 3) {

                    printf("鞍点为:%d%d%d\n", a[row][column], row +1, column + 1);

                }

            }

        }

    }

0 0