C++ 矩阵最外围元素最大值和最小值计算函数 maxMin()
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
C++ 内容:
#include <iostream>
using namespace std;
void maxMin(int a[][10], int n, int& mX, int& mN) {
mX = a[0][0]; // 初始化最大值为矩阵左上角元素
mN = a[0][0]; // 初始化最小值为矩阵左上角元素
// 遍历第一行和最后一行
for (int j = 0; j < 10; j++) { // 列
if (a[0][j] > mX) mX = a[0][j]; // 更新最大值
if (a[0][j] < mN) mN = a[0][j]; // 更新最小值
if (a[n - 1][j] > mX) mX = a[n - 1][j]; // 更新最大值
if (a[n - 1][j] < mN) mN = a[n - 1][j]; // 更新最小值
}
// 遍历第一列和最后一列
for (int i = 1; i < n - 1; i++) { // 行
if (a[i][0] > mX) mX = a[i][0]; // 更新最大值
if (a[i][0] < mN) mN = a[i][0]; // 更新最小值
if (a[i][9] > mX) mX = a[i][9]; // 更新最大值
if (a[i][9] < mN) mN = a[i][9]; // 更新最小值
}
}
int main() {
int a[3][10] = {
{101, 2, 3, 4, 5, 6, 7, 8, 9, 10},
{11, 12, 13, 14, 15, 16, 17, 18, 19, 20},
{21, 22, 23, 24, 25, 26, 27, 28, 29, 30}
};
int mX, mN;
maxMin(a, 3, mX, mN);
cout << mX << ',' << mN << endl; // 输出101,2
return 0;
}
原文地址: https://www.cveoy.top/t/topic/oOTX 著作权归作者所有。请勿转载和采集!