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
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")
}
}