矩阵matrix找鞍点

#include

int main(void) { //定义matrix的大小 int n; scanf("%d",&n); int matrix[n][n]; //

//输入matrix的数据(二维数组的两层for循环)
int a;//输入的数据
int control;//行
for (control =0;control<n;control++) {
    int control_1;//列
    for (control_1 = 0;control_1 <n;control_1++) {
        scanf("%d",&a);
        matrix[control][control_1] = a;
    }
}
//

//
int max_hang;//该行最大值
int max_hang_location;//该行最大值所在的列
for (control = 0;control < n;control++) {
    max_hang = matrix[control][0];
    max_hang_location = 0;
    //找到该行的最大值
    int control_1;
    for (control_1 = 0;control_1<n;control_1++) {
        if (max_hang < matrix[control][control_1]) {
            max_hang = matrix[control][control_1];
            max_hang_location = control_1;//因为判断大小,会进行到底,故control_1不是最大值所在的列,即要保存为location
        }
    }

    //判断是否为该列的最小值
    int result = 1;//默认为是该列的最小值
    int control_2;
    for (control_2 = 0;control_2<n;control_2++) {
        if (max_hang>matrix[control_2][max_hang_location]) {
            result = 0;
        }
    }

    if (result) {
        printf("%d %d",control,max_hang_location);//还未跳出control循环,故此时的control即鞍点的行
    }
}

return 0;

}

JSRUN前端笔记, 是针对前端工程师开放的一个笔记分享平台,是前端工程师记录重点、分享经验的一个笔记本。JSRUN前端采用的 MarkDown 语法 (极客专用语法), 这里属于IT工程师。