题目描述
计算两个矩阵A和B的乘积。
输入
第一行三个正整数m、p、n(0<=M,N,P<=10),表示矩阵A是m行p列,矩阵B是p行n列;接下来的m行是矩阵A的内容,每行 p个整数,以空格隔开;最后的p行是矩阵B的内容,每行n个整数,以空格隔开。
输出
输出乘积矩阵,输出占m行,每行n个数据,以空格隔开。
输入样例
2 3 4
1 0 1
0 0 1
1 1 1 3
4 5 6 7
8 9 1 0
输出样例
9 10 2 3
8 9 1 0
题解
#include<iostream>
using namespace std;
#define N 10
int main(){
int str[N][N],arr[N][N],dp[N][N],sum=0;
int n,m,p;
cin>>m>>p>>n;
for(int i=0;i<m;i++){
for(int j=0;j<p;j++)
cin>>str[i][j];
}
for(int i=0;i<p;i++){
for(int j=0;j<n;j++)
cin>>arr[i][j];
}
for(int i=0;i<m;i++){
for(int k=0;k<n;k++){
sum=0;
for(int j=0;j<p;j++){
sum=sum+str[i][j]*arr[j][k];
}
dp[i][k]=sum;
}
}
cout<<endl;
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
cout<<dp[i][j]<<" ";
}
cout<<endl;
}
return 0;
}