【c++】輸入一個n×n的矩陣,求出兩條對角線元素值之和,輸出矩陣,求最大值、最小值及下標


#include<iostream>
using namespace std;

int main(){
    int n;
    int a[100][100],i,j;
    cout<<"請輸入n*n矩陣的n值:";
    cin>>n;
    for(i=0;i<n;i++){
        for(j=0;j<n;j++){
            cout<<"a["<<i<<"]["<<j<<"]=";
            cin>>a[i][j];
            
        }
        cout<<endl;
    }
    //輸出矩陣
    cout<<"生成的矩陣為:\n";
    for(i=0;i<n;i++){
    for(j=0;j<n;j++){
        cout<<a[i][j]<<'\t';    
    }
    cout<<endl;
    }
    //求矩陣對角線和
    cout<<"矩陣對角線和為:";
    int sum=0;
    for(i=0;i<n;i++){
    for(j=0;j<n;j++){
        if(i==j){
            cout<<a[i][j];
            if (i<n-1) cout<<"+";
            else cout<<"=";
            sum+=a[i][j];
        }    
    }
    }
    cout<<sum<<endl;    
    //求矩陣最大值、最小值及下標
    int max,min,a1,a2,b1,b2;
    max=min=a[0][0];
    a1=a2=b1=b2=0;
    for(i=0;i<n;i++){
    for(j=0;j<n;j++){
        if (max<a[i][j]) {max=a[i][j];a1=i;b1=j;}
        if (min>a[i][j]) {min=a[i][j];a2=i;b2=j;}

    }
    }
    cout<<"矩陣最大值a["<<a1+1<<"]["<<b1+1<<"]="<<max<<endl;
    cout<<"矩陣最小值a["<<a2<<"]["<<b2<<"]="<<min<<endl;




    return 0;


}

輸出結果為:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM