求两个矩阵的乘积
分数 15
全屏浏览
切换布局
作者 C课程组-hwr-zy
单位 浙江大学
输入三个正整数m,l,n(0<m,n,l<10),再输入两个的矩阵a(mxl)和b(lxn)。要求把a和b矩阵的乘积放入到矩阵c,并把矩阵c按矩阵形式输出。
输入格式:
第一行输入三个正整数m,l,n;第二行输入矩阵a(mxl);第三行输入矩阵b(lxn)。
输出格式:
矩阵c,每一行最后无空格。
输入样例:
2 3 2
2 4 6
5 6 7
3 4
1 2
6 7
输出样例:
46 58
63 81
1.分析
建议根据矩阵的计算原理明白下标的变换。
2.代码
#include<iostream>
using namespace std;
int m,l,n;
int a[11][11],b[11][11],c[11][11];
int main(){
cin>>m>>l>>n;
for(int i=0;i<m;i++){
for(int j=0;j<l;j++){
cin>>a[i][j];
}
}
for(int i=0;i<l;i++){
for(int j=0;j<n;j++){
cin>>b[i][j];
}
}
for(int i=0;i<m;i++){
for(int j=0;j<l;j++){
for(int k=0;k<n;k++){
c[i][k]+=a[i][j]*b[j][k];
}
}
}
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
if(j) cout<<" "<<c[i][j];
else cout<<c[i][j];
}
cout<<endl;
}
return 0;
}