14行,i=i++改成i++
10、11行删掉
函数定义都是错误的。
改成
void jiajia(int a[4][4],int b[4][4],int c[4][4]),乘法相同。将a+b和a*b的结果写入c数组就行
貌似你jiajia函数直接输出结果了,可以不用将c[4][4]作为参数,但你输出语句啥内容也没写,cout<<endl;这只是输出换行啊。
cout<<c[i][j]<<" ";
if(i%4==0)
cout<<endl;
错误挺多的。函数的声明和返回值不对。矩阵相乘的计算方法也不对。代码修改如下,如有帮助,请帮忙采纳一下,谢谢。
#include <iostream>
using namespace std;
void jiajia(int a[][4],int b[][4],int c[][4]);
void chengcheng(int a[][4],int b[][4],int c[][4]);
int main()
{
int a[4][4],b[4][4];
int c[4][4],d[4][4];
int i,j,k,l;
cout << "请输入两个四行四列的矩阵"<<endl;
for (i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
cin >> a[i][j];
}
}
for (i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
cin >> b[i][j];
}
}
jiajia(a,b,c);
chengcheng(a,b,d);
for (i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
cout << c[i][j] << " ";
}
cout << endl;
}
for (i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
cout << d[i][j] << " ";
}
cout << endl;
}
}
void jiajia(int a[][4],int b[][4],int c[][4])
{
int i,j;
for (i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
c[i][j] = a[i][j] + b[i][j];
}
}
}
void chengcheng(int a[][4],int b[][4],int c[][4])
{
int i,j,k;
for (i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
c[i][j] = 0;
for(k=0;k<4;k++)
c[i][j] += a[i][k] * b[k][j]; // c[i][j]的 值等于 a的i行乘以b的j列的和
}
}
}