有一個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