程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 應用C++完成矩陣的相加/相當/轉置/求鞍點

應用C++完成矩陣的相加/相當/轉置/求鞍點

編輯:關於C++

應用C++完成矩陣的相加/相當/轉置/求鞍點。本站提示廣大學習愛好者:(應用C++完成矩陣的相加/相當/轉置/求鞍點)文章只能為提供參考,不一定能成為您想要的結果。以下是應用C++完成矩陣的相加/相當/轉置/求鞍點正文


1.矩陣相加

兩個同型矩陣做加法,就是對應的元素相加。

#include<iostream>
using namespace std;
int main(){
 int a[3][3]={{1,2,3},{6,5,4},{4,3,2}};
 int b[3][3]={{4,3,2},{6,5,4},{1,2,3}};
 int c[3][3]={0,0,0,0,0,0,0,0,0};
 int i,j;
 cout<<"Array A:"<<endl;
 for(i=0;i<3;i++){
  for(j=0;j<3;j++){
   c[i][j]+=a[i][j];//完成相加操作1
   cout<<"\t"<<a[i][j];//輸入矩陣A
  }
  cout<<endl;
 }
 cout<<endl;
 cout<<"Array B:"<<endl;
 for(i=0;i<3;i++){
  for(j=0;j<3;j++){
   c[i][j]+=b[i][j];//完成矩陣操作2
   cout<<"\t"<<b[i][j];//輸入矩陣B
  }
  cout<<endl;
 }
 cout<<endl;
 cout<<"Array C:"<<endl;
 for(i=0;i<3;i++){
  for(j=0;j<3;j++){
   cout<<"\t"<<c[i][j];//輸入矩陣C
  }
  cout<<endl;
 }
 cout<<endl;
 return 0;

}


2.完成矩陣的轉置

#include<iostream>
using namespace std;
int main(){
 int a[3][2]={{4,3},{6,5},{1,2}};
 int b[2][3]={0,0,0,0,0,0};
 int i,j;
 cout<<"Array A:"<<endl;
    for(i=0;i<3;i++){
     for(j=0;j<2;j++){
      cout<<"\t"<<a[i][j];//輸入矩陣A
      b[j][i]=a[i][j];//停止轉置操作
     }
     cout<<endl;
    }
    cout<<endl;
    cout<<"Array B:"<<endl;
    for(i=0;i<2;i++){
     for(j=0;j<3;j++){
      cout<<"\t"<<b[i][j];
     }
     cout<<endl;
    }
    cout<<endl;
 return 0;

}

3.完成矩陣的相乘

一個m行n列的矩陣可以和n列k行的矩陣相乘,獲得一個m行k列的矩陣

#include<iostream>
using namespace std;
int main(){
 int a[3][2]={{4,3},{6,5},{1,2}};
 int b[2][3]={{1,2,3},{6,5,4}};
 int c[3][3]={0,0,0,0,0,0,0,0,0};
 int i,j,k,l;
 cout<<"Array A:"<<endl;
 for(i=0;i<3;i++){
  for(j=0;j<2;j++){
   cout<<"\t"<<a[i][j];//輸入矩陣A
  }
  cout<<endl;
 }
 cout<<endl;
 cout<<"Array B:"<<endl;
 for(i=0;i<2;i++){
  for(j=0;j<3;j++){
   cout<<"\t"<<b[i][j];//輸入矩陣B
  }
  cout<<endl;
 }
 cout<<endl;
 cout<<"Array C:"<<endl;
 for(i=0;i<3;i++){
  for(j=0;j<3;j++){
     for(k=0;k<2;k++){
        c[i][j]+=a[i][k]*b[k][j];//完成相乘操作
     }
     cout<<"\t"<<c[i][j];//輸入矩陣C
  }
  cout<<endl;
 }
 cout<<endl;
 return 0;

}

4.求矩陣中的鞍點

在矩陣中行中最年夜,列中最小的元素就是我們請求的鞍點

#include<iostream>
using namespace std;
int main(){
    int a[3][4]={{3,2,13,1},{8,7,10,5},{12,11,14,9}};
 int i,j,k,ad,q=0;
 bool tag;
 for(i=0;i<3;i++){
  for(j=0;j<4;j++){
   cout<<"\t"<<a[i][j];
  }
  cout<<endl;
 }
 cout<<endl;
 for(i=0;i<3;i++){
  ad=a[i][0];
  tag=true;
  for(j=1;j<4;j++){
   if(ad<a[i][j]){
    k=j;
   }//先選出行中最年夜
  }
  for(j=0;j<3;j++){
   if(a[i][k]>a[j][k]){
    tag=false;
   };//再選出列中最小
  }
  cout<<endl;
  if(tag==true){
   cout<<"鞍點是第"<<(i+1)<<"行,第"<<(k+1)<<"列的"<<a[i][k]<<endl;
   q++;
  }
 }
 if(q==0){
  cout<<"沒有一個鞍點~"<<endl;
 }
 cout<<endl;
 return 0;

}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved