c++语言编马鞍点原理,利用C++实现矩阵的相加/相称/转置/求鞍点

本文通过四个示例详细介绍了矩阵的加法、转置、乘法以及鞍点查找的操作。首先,展示了矩阵相加的过程,然后是矩阵转置的实现,接着是矩阵相乘的算法,最后探讨了如何在矩阵中寻找鞍点。这些基本的矩阵运算在计算机科学和数值分析中具有广泛的应用。
摘要由CSDN通过智能技术生成

1.矩阵相加

两个同型矩阵做加法,就是对应的元素相加。

#include

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<

for(i=0;i<3;i++){

for(j=0;j<3;j++){

c[i][j]+=a[i][j];//实现相加操作1

cout<

}

cout<

}

cout<

cout<

for(i=0;i<3;i++){

for(j=0;j<3;j++){

c[i][j]+=b[i][j];//实现矩阵操作2

cout<

}

cout<

}

cout<

cout<

for(i=0;i<3;i++){

for(j=0;j<3;j++){

cout<

}

cout<

}

cout<

return 0;

}

bf0aae689fa927830fcf69109e5609e8.png

2.实现矩阵的转置

#include

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<

for(i=0;i<3;i++){

for(j=0;j<2;j++){

cout<

b[j][i]=a[i][j];//进行转置操作

}

cout<

}

cout<

cout<

for(i=0;i<2;i++){

for(j=0;j<3;j++){

cout<

}

cout<

}

cout<

return 0;

}

9aed514850c2495692cfd88b855343c3.png 3.实现矩阵的相乘

一个m行n列的矩阵可以和n列k行的矩阵相乘,得到一个m行k列的矩阵

#include

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<

for(i=0;i<3;i++){

for(j=0;j<2;j++){

cout<

}

cout<

}

cout<

cout<

for(i=0;i<2;i++){

for(j=0;j<3;j++){

cout<

}

cout<

}

cout<

cout<

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<

}

cout<

}

cout<

return 0;

}

e72dabfdd5658f4ee25128099a34ec62.png

4.求矩阵中的鞍点

在矩阵中行中最大,列中最小的元素就是我们要求的鞍点

#include

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<

}

cout<

}

cout<

for(i=0;i<3;i++){

ad=a[i][0];

tag=true;

for(j=1;j<4;j++){

if(ad

k=j;

}//先选出行中最大

}

for(j=0;j<3;j++){

if(a[i][k]>a[j][k]){

tag=false;

};//再选出列中最小

}

cout<

if(tag==true){

cout<

q++;

}

}

if(q==0){

cout<

}

cout<

return 0;

}

956a04015f900d643d9552c5ba3cddf1.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值