解决两个矩阵相乘的好方法

#include <iostream>
#include <cstdio>
using namespace std;
int a[20][20];
int b[20][20];
int c[30][30];
int main()
{
    int m1,n1;
    cout<<"请输入第一个矩阵的行数,列数:  ";
    cin>>m1>>n1;
    cout<<"请输入第一个矩阵"<<endl;
    for(int i=1;i<=m1;i++){
        for(int j=1;j<=n1;j++){
            cin>>a[i][j];
        }
    }
    int m2,n2;
    cout<<"请输入第二个矩阵的行数,列数:  ";
    cin>>m2>>n2;
    cout<<"请输入第二个矩阵"<<endl;
    for(int i=1;i<=m2;i++){
        for(int j=1;j<=n2;j++){
            cin>>b[i][j];
        }
    }
    cout<<"矩阵相乘的结果为:"<<m1<<"行,"<<n2<<"列"<<endl;
    for(int i=1;i<=m1;i++){
        for(int j=1;j<=n2;j++){
            int sum=0;
            for(int k=1;k<=m2;k++){
                sum=sum+a[i][k]*b[k][j];
            }
            c[i][j]=sum;
            cout<<c[i][j]<<' ';
        }
        cout<<endl;
    }
    return 0;
}


猜你喜欢

转载自blog.csdn.net/lalala8866/article/details/69055775