|矩阵乘法 行列空置3层for 归0|L1-8 矩阵A乘以B (15分)

在这里插入图片描述

    num+=a[i][k]*b[k][j];
#include <iostream>
#include <cstdio>
using namespace std;
int a[110][110],b[110][110],c[110][110];
int num;
int main()
{
    
    
    int r1,c1;
    cin>>r1>>c1;
    for(int i=0;i<r1;i++){
    
    
        for(int j=0;j<c1;j++){
    
    
            scanf("%d",&a[i][j]);
        }
    }
    int r2,c2;
    cin>>r2>>c2;
    for(int i=0;i<r2;i++){
    
    
            for(int j=0;j<c2;j++){
    
    
                scanf("%d",&b[i][j]);
        }
    }
    
    if(c1!=r2){
    
    
        cout<<"Error: "<<c1<<" != "<<r2<<endl;
    }else{
    
    
        cout<<r1<<" "<<c2<<endl;
    
        for(int i=0;i<r1;i++){
    
     
            for(int j=0;j<c2;j++){
    
    
                num=0;
                for(int k=0;k<c1;k++){
    
    
                    num+=a[i][k]*b[k][j];
                }
                if(j==0)cout<<num;
                else cout<<" "<<num;
            }
            cout<<endl;
        }
        
    }
    return 0;
}

#include <iostream>
#include <cstdio>
using namespace std;
int a[1010][1010]={
    
    0},b[1010][1010]={
    
    0},c[1010][1010]={
    
    0};

int main()
{
    
    
    int Ra, Ca;
    cin>>Ra>>Ca;
    for(int i=0;i<Ra;i++){
    
    
        for(int j=0;j<Ca;j++){
    
    
            scanf("%d",&a[i][j]);
        }
    }
    
    int Rb, Cb;
    cin>>Rb>>Cb;
    for(int i=0;i<Rb;i++){
    
    
        for(int j=0;j<Cb;j++){
    
    
            scanf("%d",&b[i][j]);
        }
    }
    
    //Cb
    if(Ca!=Rb){
    
    
        cout<<"Error: "<<Ca<<" != "<<Rb;
        return 0;
    }
    else{
    
    
        cout<<Ra<<" "<<Cb<<endl;
        for(int i=0;i<Ra;i++){
    
    
            for(int j=0;j<Cb;j++){
    
    
                int num=0;
                for(int m=0;m<Ca;m++){
    
    //3--0 1 2
                     num+=a[i][m]*b[m][j];//[0][0]*[0][0] [0][1]*[1][0] [0][2]*[2][0]
                }
                if(j==0)cout<<num;
                else cout<<" "<<num;
            }
            cout<<endl;
        }
    }
  return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_44769957/article/details/108940469