有一个3*4的矩阵,编程求出其中最大值,以及其所在的行号和列号。


#include <iostream>
using namespace std;

//如何使用一维数组 ? 
int main(){
    //数组是一个容器,这个容器的特点是存储空间不能改变 ,固定大小的容器 
    int array[3][4]={{11,22,3,45},
                     {4,-15,6,13},
                     {49,58,-76,123}};
    int temp=array[0][0];
    int row=0;
    int col=0;
    for(int i=0;i<3;i++){
        for(int j=0;j<4;j++){
            if(array[i][j]>temp){
                temp=array[i][j];
                row=i;
                col=j;
            }
        }
    }


    cout<<"二维数组的最大值是: "<<temp<<" 所在行是 "<<row+1<<"所在列是 "<<col+1<<endl;

    return 0;
}

 


 

把上边的程序用函数来处理,如何操作?

第一种方法,传递的参数是数组

#include <iostream>
using namespace std;

void maxMatrix(int arr[3][4]){
    
    int temp=arr[0][0];
    int row=0;
    int col=0;
    for(int i=0;i<3;i++){
        for(int j=0;j<4;j++){
            if(arr[i][j]>temp){
                temp=arr[i][j];
                row=i;
                col=j;
            }
        }
    }
    cout<<"二维数组的最大值是: "<<temp<<" 所在行是 "<<row+1<<"所在列是 "<<col+1<<endl;
}
int main(){
    //数组是一个容器,这个容器的特点是存储空间不能改变 ,固定大小的容器 
    int array[3][4]={{11,22,3,45},
                     {4,-15,6,13},
                     {49,58,-76,123}};
    maxMatrix(array);
    return 0;
}

第二种方法,传递的参数是数值

#include <iostream>
using namespace std;

int maxXY(int x,int y){
    return x>y?x:y;
}
int main(){
    //数组是一个容器,这个容器的特点是存储空间不能改变 ,固定大小的容器 
    int array[3][4]={{11,22,3,45},
                     {4,-15,6,13},
                     {49,58,-76,123}};
    int max=array[0][0];
    int row=0;
    int col=0;
    for(int i=0;i<3;i++){
        for(int j=0;j<4;j++){
            max=maxXY(array[i][j],max);
        }
    }
    cout<<"二维数组的最大值是: "<<max<<" 所在行是 "<<row+1<<"所在列是 "<<col+1<<endl;
    return 0;
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM