前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C/C++程序设计与算法第五周:实现二维矩阵乘法运算

C/C++程序设计与算法第五周:实现二维矩阵乘法运算

作者头像
用户7886150
修改2021-02-07 10:45:15
5370
修改2021-02-07 10:45:15
举报
文章被收录于专栏:bit哲学院bit哲学院

参考链接: C++程序将两个数字相乘

二维矩阵乘法:编写程序算出连个矩阵相乘的结果 输入要求:先输入第一个矩阵大小,再输入每一行的矩阵数字 输入第二个矩阵大小,输入每一行的矩阵内容 

两个矩阵相乘必须满足:第一个矩阵的行,等于第二个矩阵的列 假定满足要求 

#include<iostream>

using namespace std;

#define MAX_SIZE 8

int A[MAX_SIZE][MAX_SIZE]={0};

int B[MAX_SIZE][MAX_SIZE]={0};

int C[MAX_SIZE][MAX_SIZE]={0};

int main(){

    int m,n;

    cin >>m >>n;

    int i;

    for( i = 0;i< m;i++)

        for(int j = 0;j< n;j++)  //矩阵 A

           cin>>A[i][j];

    cout<<"第二个矩阵 " <<endl;

    int p,q;

    cin >>p >>q;                 //矩阵 B

    for( i = 0;i< p;i++)

        for(int j = 0;j< q;j++)

           cin>>B[i][j];

    for( i = 0;i< m;i++){         // 相乘算法

        for(int j = 0;j< p ;j++){

           C[i][j] = 0;

           for(int k = 0;k< n;k++)

              C[i][j] += A[i][k] * B[k][j];

        }

    }

    cout<<"矩阵结果 " <<endl;

    for( i = 0;i< m;i++){       // 输出A

       for(int j = 0;j< n;j++)

          cout<< A[i][j]<<" ";

       cout<< endl;

    }

    cout<<endl;

    for( i = 0;i< p;i++){       // 输出B

       for(int j = 0;j< q;j++)

          cout<< B[i][j]<<" ";

       cout<< endl;

    }

    cout<<endl;

    for( i = 0;i< m;i++){       // 输出C

       for(int j = 0;j< q;j++)

          cout<< C[i][j]<<" ";

       cout<< endl;

    }

}

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档