就按照矩阵相乘的方法进行运算就行,但是要注意输出格式按照矩阵输出,不是输出一整行!
#include<iostream>
using namespace std;
int main()
{
int row1, line1, row2, line2, temp;
int matirx1[10][10], matirx2[10][10],out[20][20];
memset(matirx1, 0, sizeof(int)* 100);
memset(matirx2, 0, sizeof(int)* 100);
memset(out, 0, sizeof(int)* 400);
cin >> row1 >> line1 >> line2;
row2 = line1;
for (int i = 0; i<row1; i++)
{
for (int j = 0; j<line1; j++)
{
cin >> temp;
matirx1[i][j] = temp;
}
}
for (int i = 0; i<row2; i++)
{
for (int j = 0; j<line2; j++)
{
cin >> temp;
matirx2[i][j] = temp;
}
}
//矩阵相乘
temp = 0;
for (int i = 0; i < row1; i++)
{
for (int j = 0; j < line2; j++)
{
for (int k = 0; k < row2; k++)
{
temp += matirx1[i][k] * matirx2[k][j];
}
out[i][j] = temp;
temp = 0;
}
}
//输出
for (int i = 0; i < row1; i++)
{
for (int j = 0; j < line2; j++)
{
cout<<out[i][j];
if (j != line2 - 1)
{
cout << " ";
}
}
cout << endl;
}
return 0;
}