Bootstrap

求两个矩阵的乘积

求两个矩阵的乘积
分数 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;
}

;