H (8). 矩阵乘法 [ 提交记录 ]
时间限制: 1000MS
空间限制: 128MB
结果评判: 文本对比
正确/提交: 80 (51) / 212
题目描述
现输入一个n行m列的矩阵A和一个m行k列的矩阵B,输出A×B。
输入描述
第一行三个整数,分别为n,m,k(m,n,k<10<10)。
随后输入A矩阵和B矩阵,矩阵中每个元素值的绝对值不超过1000。
输出描述
输出A×B的矩阵,两数之间以空格间隔。
样例
输入 复制
3 2 3 1 4 2 5 3 6 1 2 3 4 5 6
输出 复制
17 22 27 22 29 36 27 36 45 解答:
#include <bits/stdc++.h>
using namespace std;
int main(){
int a[10][10],b[10][10],c[10][10]={0};
int n,m,k,i,j,kk;
cin>>n>>m>>k;
for(i=0;i<n;i++){
for(j=0;j<m;j++)
cin>>a[i][j];
}
for(i=0;i<m;i++){
for(j=0;j<k;j++)
cin>>b[i][j];
}
for(i=0;i<n;i++){
for(j=0;j<k;j++){
c[i][j]=0;
for(kk=0;kk<m;kk++)
c[i][j]+=a[i][kk]*b[kk][j];
}
}
for(i=0;i<n;i++){
for(j=0;j<k-1;j++)
cout<<c[i][j]<<" ";
cout<<c[i][k-1]<<endl;
}
return 0;
}