请完成函数maxMin。给定一个nn=2行10列的整数矩阵a函数maxMin计算 矩阵最外围元素指第一行、最后一行的元素以及第一列、最后一列的元素的最大值和最小值并将最大值存入变量mX最小值存入变量mN。maxMin的第一个参数是二维整数数组a第二个参数是a的行数nn=10。例如main函数中a的数据描述了一个3行10列的矩阵该矩 阵最外围元素的最大值、最小值分别是101、2则mX、mN的值分别为
#include
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;
原文地址: http://www.cveoy.top/t/topic/hl5Q 著作权归作者所有。请勿转载和采集!