c++实现请完成函数maxMin()。 给定一个n(n>=2)行10列的整数矩阵a,函数maxMin()计算 矩阵最外围元素(指第一行、最后一行的元素,以及第一列、最后一列的元素)的最大值和最小值,并将最大值存入变量mX,最小值存入变量mN。maxMin()的第一个参数是二维整数数组a,第二个参数是a的行数n(n<=10)。 例如,main()函数中a的数据描述了一个3行10列的矩阵,该矩 阵最外围元素的最大值、最小值分别是101、2,则mX、mN的值分别为101,2。 样例输出: 101,2
时间: 2024-04-14 07:26:13 浏览: 285
C++矩阵库_C++调用矩阵_矩阵函数库_
5星 · 资源好评率100%
```cpp
#include <iostream>
#include <vector>
using namespace std;
void maxMin(vector<vector<int>>& a, int n, int& mX, int& mN) {
mX = *max_element(a[0].begin(), a[0].end()); // 初始化最大值为第一行的最大值
mN = *min_element(a[0].begin(), a[0].end()); // 初始化最小值为第一行的最小值
for (int i = 1; i < n-1; i++) {
mX = max(mX, a[i][0]); // 更新最大值,比较当前行第一个元素
mX = max(mX, a[i][a[i].size()-1]); // 更新最大值,比较当前行最后一个元素
mN = min(mN, a[i][0]); // 更新最小值,比较当前行第一个元素
mN = min(mN, a[i][a[i].size()-1]); // 更新最小值,比较当前行最后一个元素
}
mX = max(mX, *max_element(a[n-1].begin(), a[n-1].end())); // 比较最后一行的最大值
mN = min(mN, *min_element(a[n-1].begin(), a[n-1].end())); // 比较最后一行的最小值
}
int main() {
vector<vector<int>> a = {{1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
{11, 12, 13, 14, 15, 16, 17, 18, 19, 20},
{101, 22, 23, 24, 25, 26, 27, 28, 29, 30}};
int n = a.size();
int mX, mN;
maxMin(a, n, mX, mN);
cout << mX << "," << mN << endl; // 输出:101,2
return 0;
}
```
阅读全文