矩阵鞍点(C++)

it2026-08-08  5

描述

代码(C++)

#include <iostream> #include <vector> using namespace std; vector<int> RMax(int data[5][5]) { vector<int> temp; int (*row)[5] = data; for (int i = 0; i < 5; ++i) { int maxIdx = 0; for (int j = 0; j < 5; ++j) { if ((*row)[j] > (*row)[maxIdx]) { maxIdx = j; } } temp.push_back(maxIdx); ++row; } return temp; } vector<int> CMin(int data[5][5]) { vector<int> temp; for (int i = 0; i < 5; ++i) { int minIdx = 0; for (int j = 0; j < 5; ++j) { if (data[j][i] < data[minIdx][i]) { minIdx = j; } } temp.push_back(minIdx); } return temp; } void show(vector<int> RMax, vector<int> CMin, int data[5][5]) { for (int i = 0; i < 5; ++i) { for (int j = 0; j < 5; ++j) { if (data[i][RMax[i]] == data[CMin[j]][j]) { cout << data[i][RMax[i]] << " "; } } } } int main() { int data[5][5] = { {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} }; show(RMax(data), CMin(data), data); return 0; }

结果

最新回复(0)