任务4:计算鞍点
给定一个5*5的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点。鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值。
例如:在下面的例子中(第4行第1列的元素就是鞍点,值为8 )。
输入:
输入包含一个5行5列的矩阵。
输出:
如果存在鞍点,输出鞍点所在的行、列及其值,如果不存在,输出”not found”。
样例输入:
11 3 5 6 9
12 4 7 8 10
10 5 6 9 11
8 6 4 7 2
15 10 11 20 25
样例输出:
4 1 8
#include<iostream>
using namespace std;
int main() {
int x[6][6], row_max[6] = {}, line_min[6] = {};
bool b = true;
//i为行,j为列
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5; j++) {
cin >> x[i][j];
}
}
for (int i = 1; i <= 5; i++) {
line_min[i]=x[1][i];
for (int j = 1; j <= 5; j++) {
if (x[i][j] > row_max[i])row_max[i] = x[i][j];
if (x[j][i] < line_min[i])line_min[i] = x[j][i];
}
}
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5; j++) {
if (row_max[i] == line_min[j]) {
cout << i << " " << j << " " << x[i][j] << endl;
b = false;
}
}
}
if (b) cout << "Not Found!" << endl;
return 0;
}
本文作者 : Sukanu Xian
本文采用 CC BY-NC-SA 4.0 许可协议。转载和引用时请注意遵守协议、注明出处!
本文链接 : https://blog.ssf.moe/81.html