矩阵乘法 c/c++代码
矩阵乘法----c/c++代码
最近在写线性代数,遇到了求矩阵乘法A*B的题目,不想手算,于是写了下面代码。
计算矩阵Ama*na * Bmb*nb 的结果
#include <iostream>
#include <stdio.h>
#include <cstring>
using namespace std;
/**
矩阵乘法a*b=c;
*/
//按行输入
void ScanF(int x[][100],int m,int n)
{for(int i = 1;i <= m; i++)for(int j = 1;j <= n; j++)cin>>x[i][j];
}void Print(int x[][100],int m,int n)
{for(int i = 1;i <= m; i++){for(int j = 1;j <= n; j++)cout<<x[i][j]<<" ";cout<<endl;}
}void multiply(int a[][100],int b[][100],int c[][100],int ma,int na,int mb,int nb)
{int row=0,column=0;for(int i = 1;i <= ma; i++){row = i;for(int j = 1;j <= nb; j++){int sum = 0;column=j;for(int k = 1;k <= mb; k++)sum += a[i][k]*b[k][j];c[row][column] = sum;}}
}
int main()
{int a[100][100],b[100][100],c[100][100];int ma,na,mb,nb;//m行n列memset(a,sizeof(a),0);memset(b,sizeof(b),0);memset(c,sizeof(c),0);cin>>ma>>na>>mb>>nb; //输入数据保证na=mb;if(na != mb){cout<<"无法相乘!"<<endl;return 0;}ScanF(a,ma,na);ScanF(b,mb,nb);multiply(a,b,c,ma,na,mb,nb);//Print(a,ma,na);Print(c,ma,nb);return 0;}
测试数据
输入
3 3 3 3
1 2 3
4 5 6
7 8 9
3 2 1
4 5 7
8 3 2
输出
35 21 21
80 51 51
125 81 81
矩阵乘法 c/c++代码相关推荐
- [C++]矩阵乘法Strassen算法-----代码实现
关于矩阵乘法的Strassen算法,这里不再叙述,推荐简书博客: https://www.jianshu.com/p/6e21f8e872fd 本篇博客便是参考该简书的算法思想,采用C++进行代码实现 ...
- strassen矩阵乘法c语言代码,计算机算法:Strassen矩阵乘法
简介 Strassen矩阵乘法是典型的分而治之算法.我们已经见过诸如归并排序,Karatsuba大数乘法的分而治之的算法.让我们再次领略一下分而治之的含义. 与动态编程的"分散"得 ...
- 解题报告——蓝桥 试题 基础练习 矩阵乘法——27行代码AC
储备知识: 矩阵: 矩阵的乘法: 也就是说,结果矩阵第m行与第n列交叉位置的那个值,等于第一个矩阵第m行与第二个矩阵第n列,对应位置的每个值的乘积之和. 矩阵的n次幂同理.不过是自己乘自己. 本题注意 ...
- java矩阵连乘算法_使用java写的矩阵乘法实例(Strassen算法)
Strassen算法于1969年由德国数学家Strassen提出,该方法引入七个中间变量,每个中间变量都只需要进行一次乘法运算.而朴素算法却需要进行8次乘法运算. 原理 Strassen算法的原理如下 ...
- strassen算法java_使用java写的矩阵乘法实例(Strassen算法)_Java_软件编程
Strassen算法于1969年由德国数学家Strassen提出,该方法引入七个中间变量,每个中间变量都只需要进行一次乘法运算.而朴素算法却需要进行8次乘法运算. 原理 Strassen算法的原理如下 ...
- HLS:矩阵乘法单元设计与SDK测试
目录 一.引言 二.程序框架 三.初步设计 四.报告分析 五.优化操作 六.接口优化 七.上板测试 八.补充部分 九.时间与参考 一.引言 矩阵乘法,涉及数组优化.循环优化和接口优化等.是一个学习HL ...
- 矩阵生发java_使用java写的矩阵乘法实例(Strassen算法)
Strassen算法于1969年由德国数学家Strassen提出,该方法引入七个中间变量,每个中间变量都只需要进行一次乘法运算.而朴素算法却需要进行8次乘法运算. 原理 Strassen算法的原理如下 ...
- 程序性能优化探讨(6)——矩阵乘法优化之分块矩阵
有一种性格叫做偏执,有一种矩阵优化运算叫做分块.实话说,也许我这辈子也用不上这种随牛B但很复杂的算法,有些版本的教材直接删除这个内容.但越是这样我越想不过,因此借写这篇博客,把分块矩阵乘法彻底分析清楚 ...
- 【甘道夫】MapReduce实现矩阵乘法--实现代码
之前写了一篇分析MapReduce实现矩阵乘法算法的文章: [甘道夫]Mapreduce实现矩阵乘法的算法思路 为了让大家更直观的了解程序运行,今天编写了实现代码供大家參考. 编程环境: java v ...
- 【代码分析】cublasSgemm 矩阵乘法详解
目录 前言 预备知识 cublasSgemm 函数 求解C=AxB 不使用cublasSgemm transa与transb参数 示例程序 使用cublasSgemm transa与transb参数 ...
最新文章
- Oracle中Scott账户常见表的样本查询编程与数据库
- XamarinAndroid组件教程RecylerView适配器设置动画
- 【Mysql Docker】备份 docker mysql 脚本
- 恭喜我自己装上了Windows Server 2008 R2 和使用Windows Live Writer 写日志
- 应该在什么时候使用Hadoop
- 完整国内城市js级联选择
- 每日一题(30)—— 局部变量能否和全局变量重名?
- 在vmware中创建共享磁盘
- python分析数据走势_python数据分析应用 - 近5年八类资产价格走势分析
- 解决无法打开虚拟机的方法
- original:,tool:AAPT
- 【蓝桥杯Java组】数论基础—素数筛、最大公约数、最小公倍数
- 广告电商源码--广告电商系统开发源码以及功能分享
- oracle 12c pdb数据库全库备份
- 手机怎么识别图片中的文字?来试试这两个方法吧
- SpringCloud项目启动
- 快速调用企业工商数据
- 华硕X370 Pro更新BIOS后黑屏自救记录
- 快手适合在美妆行业做广告投放吗?快手广告如何计费?
- 【C语言】字符数组初始化方法