C++:有一个M行N列的矩阵,调用函数求每行及每列的最大值和最小值

如题所述

#include<iostream>

using namespace std;
const int M = 3; 
const int N = 5;

void max_min(int a[][N])
{
    int i,j;
    cout << "每行的最大值和小值分别是:"<< endl;
    int max,min;
    for(i=0;i<M;i++){
        max=min=a[i][0];
        for(j=1;j<N;j++){
            if(a[i][j]<min) min=a[i][j];
            if(a[i][j]>max) max=a[i][j];
        }
        cout << "第" << i+1  << "行:" << max << " " << min << endl; 
    }
    
    cout << "每列的最大值和最小值分别是:"<< endl;
    for(j=0;j<N;j++){
        max=min=a[0][j];
        for(i=1;i<M;i++){
            if(a[i][j]<min) min=a[i][j];
            if(a[i][j]>max) max=a[i][j];
        }
        cout << "第" << j+1  << "列:" << max << " " << min << endl; 
    }
    
}
int main()
{
    int a[M][N];
    int i,j;
    for(i=0;i<M;i++){
        for(j=0;j<N;j++){
            cin >> a[i][j];
        }
    }
    max_min(a);
    system("pause");
    return 0;
}

温馨提示:答案为网友推荐,仅供参考