C语言 矩阵相加C=A+B

Python013

C语言 矩阵相加C=A+B,第1张

#include <stdio.h>

main()

{

int a[3][4],b[3][4],c[3][4]

for(int i = 0i <3i++) //输入数组a

for(int j = 0j <4j++)

scanf("%d",&a[i][j])

for(int i = 0i <3i++) //输入数组b

for(int j = 0j <4j++)

scanf("%d",&b[i][j])

for(int i = 0i <3i++) //计算c

{

for(int j = 0j <4j++)

{

c[i][j] = a[i][j] + b[i][j]

printf("%d",c[i][j])

}

pringf("\n")

}

}

试试吧....

#include <iostream>

using namespace std

int main()

{

int am=3,bm=3,an=3,bn=3

int a[am][an]

int b[bm][bn]

for(int i=0i<ami++)

{

for(int j=0j<anj++)

{

a[i][j]=i*am+j

}

}

for(int i=0i<bmi++)

{

for(int j=0j<bnj++)

{

b[i][j]=i*bm+j

}

}

//original matrix

cout<<"原始矩阵a"<<endl

for(int i=0i<ami++)

{

for(int j=0j<anj++)

{

cout<<a[i][j]<<" "

if(j==an-1)

cout<<endl

}

}

cout<<"原始矩阵b"<<endl

for(int i=0i<bmi++)

{

for(int j=0j<bnj++)

{

cout<<b[i][j]<<" "

if(j==bn-1)

cout<<endl

}

}

//matrix add

cout<<"矩阵加法"<<endl

if(am!=bm || an!=bn)

{

cout<<"Sorry, can not be added!"<<endl

}

else for(int i=0i<ami++)

{

for(int j=0j<anj++)

{

cout<<a[i][j]+b[i][j]<<" "

if(j==an-1)

cout<<endl

}

}

//matrix minus

cout<<"矩阵减法"<<endl

if(am!=bm || an!=bn)

{

cout<<"Sorry, can not be minused!"<<endl

}

else for(int i=0i<ami++)

{

for(int j=0j<anj++)

{

cout<<a[i][j]-b[i][j]<<" "

if(j==an-1)

cout<<endl

}

}

//matrix multiply

cout<<"矩阵乘法"<<endl

int temp

if(an!=bm)

{

cout<<"Sorry, can not be multiplied!"<<endl

}

else for(int i=0i<ami++)

{

for(int j=0j<bnj++)

{

temp=0

for(int k=0k<ank++)

{

temp+=a[i][k]*b[j][k]

}

cout<<temp<<" "

if(j==bn-1)

cout<<endl

}

}

}

矩阵的大小可以通过N,M来改变,数据自己也可以改为你想要的.

程序如下:

#define N 3

#define M 3

main()

{

int a[N][M]={1,2,3,4,5,6,7,8,9}, b[N][M]={9,8,7,6,5,4,3,2,1},c[N][M],d[N][M],i,j

for(i=0i<Ni++)

for(j=0j<Mj++)

{

c[i][j]=a[i][j]+b[i][j]/*相加A+B*/

d[i][j]=a[i][j]-b[i][j]/*相减A-B*/

}

for(i=0i<Ni++)

{

for(j=0j<Mj++)

printf("%d ",c[i][j])

printf("\n")

}

pingtf("\n")

for(i=0i<Ni++)

{

for(j=0j<Mj++)

printf("%d ",d[i][j])

printf("\n")

}

}