题目描述
矩阵A规模是n×m,矩阵B规模是m×p,现在需要你求A*B
输入
输入n,m。然后输入n×m的矩阵。
输入p,然后输入m×p的矩阵。
1<=n,m,p<=100
-10000<=矩阵元素<=10000
输出
输出相乘后的n×p的矩阵
样例输入
2 3 1 2 3 3 2 1 2 1 1 2 2 3 3
样例输出
14 14 10 10
题解
我相信,只要知道怎么乘矩阵,就知道怎么写
#include<iostream>
using namespace std;
const int maxn=1e2+10;
int main()
{
int n,m,p;
int a[maxn][maxn],b[maxn][maxn],c[maxn][maxn];
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>a[i][j];
cin>>p;
for(int i=1;i<=m;i++)
for(int j=1;j<=p;j++)
cin>>b[i][j];
for(int i=1;i<=n;i++)
for(int j=1;j<=p;j++)
{
c[i][j]=0;
for(int k=1;k<=m;k++)
c[i][j]+=a[i][k]*b[k][j];
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<p;j++)
cout<<c[i][j]<<" ";
cout<<c[i][p]<<endl;
}
return 0;
}