C/C++ 实现二维数组的矩阵相乘和矩阵相加
C++实现矩阵相乘和相加运算
这里只实现了N * N矩阵的相加和相乘,如果想要实现N*M 和 M*S矩阵相乘,得到N*S矩阵,只需要将乘法的i,j改成N和S的值,k对应的是M的值
#include <iostream>
#define N 3using namespace std;
void Print(int Mx[N][N]){//二维数组引用第二个参数必须要有值,否则编译不通过for(int i = 0; i < N; i++){for(int j = 0; j < N; j++){cout<<Mx[i][j]<<" ";}cout<<endl;}
}
void MatrixMultiply(int Mx1[N][N],int Mx2[N][N]){int Mx[N][N];for(int i = 0; i < N; i++){for(int j = 0; j < N; j++){int sum = 0;for(int k = 0; k < N; k++){//遍历对应第i行和第j列实现相乘sum+=Mx1[i][k]*Mx2[k][j];}Mx[i][j] = sum;}}cout<<"矩阵相乘结果:\n";Print(Mx);
}
void MatrixAdd(int Mx1[N][N],int Mx2[N][N]){int Mx[N][N];for(int i = 0; i < N; i++){for(int j = 0; j < N; j++){//矩阵相加,对应行和列相加即可Mx[i][j] = Mx1[i][j] + Mx2[i][j];}}cout<<"\n矩阵相加结果:\n";Print(Mx);
}
int main() {int Mx1[N][N]={{1,1,1},{1,1,1},{1,1,1}};int Mx2[N][N]={{1,2,3},{4,5,6},{7,8,9}};//Print(Mx1);MatrixMultiply(Mx1,Mx2);MatrixAdd(Mx1,Mx2);return 0;
}
考研打卡!
C/C++ 实现二维数组的矩阵相乘和矩阵相加相关推荐
- matlab二维数组命名,Matlab教程1_矩阵(数组) _ 二维数组的创建
(作者:lcc) 创建二维数组变量 n 第一种方法:使用方括号"[ ]"操作符 使用规则 n 数组元素必须在"[ ]"内键入: n 行与行之间须用分号&q ...
- 二维数组中的查找(杨氏矩阵(C语言+Java))
二维数组中的查找这道题,出自 <剑指Offer>.也是著名的杨氏矩阵 在一个 n *m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的.输入一个数,判断矩阵中 ...
- PHP二维数组去除重复,重复值相加
$arr = array(array('id' => 122, 'name' => '张三', 'amount' => '1'),array('id' => 123, 'nam ...
- 二维数组练习--矩阵的加法和乘法
数组的练习示例展示: package arrayList; /*** 矩阵的集中运算法则:求和,求积,求逆矩阵,转置矩阵......* @author Drew**/ public class Arr ...
- 经典错误:二维数组与实际矩阵的差异所构成的易错点
经典错误:二维数组与实际矩阵的差异所构成的易错点 标签:C语言 二维数组 矩阵 by 小威威 1.矩阵与二维数组的差异 在线性代数的课程中,我们接触到了矩阵这一工具,不难发现它很类似于C语言中的二维数 ...
- 二维数组离散程度matlab,(十八)数据分析中的一些概念
(十八)数据分析中的一些概念 HIKAI 29 SEP 2017 0 Comments 矢量.向量.标量 矢量和向量是一个东西,只是在不同领域里面用到的不同称呼.矢量常常用在物理学中,向量在数学.几何 ...
- C++之指针探究(四):指针和二维数组
前文:C++之指针探究(三):指针数组和数组指针 一. 二维数组 二维数组通常也被称为矩阵(matrix). 六种初始化方式: (1) int a[3][4] = {1,2,3,4,5,6,7,8 ...
- C Tricks(十一)—— 排除一个二维数组的边界
排除一个二维数组的边界,通常此时的二维数组表示的是图像矩阵,并对其进行分块处理的情形. int mat[480][640] for (int y = 2; y < 480 - 2; ++y){f ...
- Java实现寻找二维数组的鞍点
一.题目描述: 定义一个二维数组用于存储一个4×4 矩阵的元素值,并找出这个矩阵的所有鞍点,然后输出鞍点的位置及值. 二.鞍点解释 ①在微分方程中,沿着某一方向是稳定的,另一条方向是不稳定的奇点,叫做 ...
- matlab二维怎么定义,matlab中如何定义一个10*2的二维数组,用来储存后面算出的数值...
答:可以先定义,这样可以预先分配空间,B = zeros(20, 2); 也可以运算出一个结果往数组里增添1列,动态来增加. matlab二维数组的创建: 二维数组实际上也是一个矩阵.应此直接创建一个 ...
最新文章
- C#进阶系列——WebApi 接口参数不再困惑:传参详解
- RabbitMQ (三)消息重试
- Modbus协议栈应用实例之三:Modbus TCP客户端应用
- 第十章数据库恢复技术
- linux下载pycharm_django开发-使用pycharm进行远程开发
- 二级菜单不同方法的实现
- 如何用命令获知当前是一年中的第多少周和今天是周几
- 中间语言MicroSoft Intermediate Language(MSIL)
- CEO 职位也不保,盘点 2017 年 IT 界残酷的裁员事件
- bzoj 1053: [HAOI2007]反素数ant 51nod-1060:最复杂的数(反素数与因数个数计算)
- 安卓系统原生定位不可用修改
- 记一次js调试(attachEvent, onchange, onpropertychange)
- http://txt.mop.com/static/788/231/5231788.html
- dcs常用的冗余方式_DCS冗余技术简介
- 谷歌浏览器不安全的连接牵扯的系统缺陷
- 微观经济学--第4章 供给与需求的市场力量
- 服务器被攻击的发现和解决过程
- latex自己记录需要的
- win10 引导系统损坏 和 bios设置
- NLTK-007:分类文本(文档情感分类)