定义一个Matrix类,实现矩阵的加法和乘法

  1 #include<iostream>
  2 using namespace std;
  3 
  4 class Matrix
  5 {
  6     int row;//矩阵的行
  7     int col;//矩阵的列
  8     int **a;//保存二维数组的元素
  9 public:
 10     Matrix();//默认构造函数
 11     Matrix(int r, int c);
 12     Matrix(const Matrix &is);//拷贝构造函数
 13     void Set();//输入矩阵元素
 14     void Madd(const Matrix &is);//矩阵加
 15     Matrix Mmul(const Matrix &is);//矩阵乘
 16     void display();//显示矩阵元素
 17 };
 18 
 19 Matrix::Matrix(int r, int c)
 20 {
 21     row = r;
 22     col = c;
 23     a = (int **)malloc(sizeof(int*)*row);
 24     for (int r = 0; r < row; r++)
 25     {
 26         *(a + r) = (int*)malloc(sizeof(int)*col);
 27     }
 28 }
 29 
 30 Matrix::Matrix(const Matrix & is)
 31 {//拷贝构造函数
 32     row = is.row;
 33     col = is.col;
 34     a = new int*[row];
 35     for (int i = 0; i < row; i++)
 36     {
 37         a[i] = new int[col];
 38     }
 39     a = is.a;
 40 }
 41 
 42 void Matrix::Set()
 43 {
 44     printf("请输入数:\n");
 45     for (int i = 0; i < row; i++)
 46         for (int j = 0; j < col; j++)
 47             cin >> a[i][j];
 48 }
 49 
 50 void Matrix::Madd(const Matrix & is)
 51 {
 52     if (row != is.row || col != is.col)//判断两矩阵是否符合相加条件
 53     {
 54         cout << "相加的矩阵必须行和列一致";
 55     }
 56     else
 57     {
 58         for (int i = 0; i < row; i++)
 59         {
 60             for (int j = 0; j < col; j++)
 61             {
 62                 a[i][j] += is.a[i][j];
 63             }
 64         }
 65     }
 66 }
 67 
 68 Matrix Matrix::Mmul(const Matrix & is)
 69 {
 70     Matrix M3(this->row, is.col);
 71     if (this->col != is.row)//判断是否符合相乘条件
 72     {
 73         cout << "不符合两矩阵相乘的条件";
 74     }
 75     else
 76     {
 77         for (int i = 0; i < M3.row; i++)
 78         {
 79             for (int j = 0; j < M3.col; j++)
 80             {
 81                 M3.a[i][j] = 0;
 82                 for (int n = 0; n < is.row; n++)
 83                 {
 84                     M3.a[i][j] += this->a[i][n] * is.a[n][j];
 85                 }
 86             }
 87         }
 88     }
 89     return M3;
 90 }
 91 
 92 void Matrix::display()
 93 {//输出矩阵
 94     for (int i = 0; i < row; i++)
 95     {
 96         for (int j = 0; j < col; j++)
 97         {
 98             cout << a[i][j] << " ";
 99         }
100         cout << endl;
101     }
102     cout << endl;
103 }
104 
105 int main()
106 {
107     Matrix m1(3, 3);
108     m1.Set();
109     m1.display();
110     Matrix m2(3, 3);
111     m2.Set();
112     m2.display();
113     Matrix m3(3, 2);
114     m3.Set();
115     m3.display();
116     cout << "m1+m2=" << endl;
117     m1.Madd(m2);
118     m1.display();
119     Matrix m4(m1.Mmul(m3));
120     cout << "m1*m3=" << endl;
121     m4.display();
122     system("pause");
123     return 0;
124 }
View Code

运行结果:

 

转载于:https://www.cnblogs.com/Alier/p/6651444.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/488716.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无法读取配置节aspnetcore_ASP.NET Core 配置和使用环境变量

(给DotNet加星标&#xff0c;提升.Net技能)转自&#xff1a;HueiFengcnblogs.com/yyfh/p/12339961.html前言通常在应用程序开发到正式上线&#xff0c;在这个过程中我们会分为多个阶段&#xff0c;通常会有 开发、测试、以及正式环境等。每个环境的参数配置我们会使用不同的参数…

计算机软件英文参考文献,软件工程英文参考文献(优秀范文105个)

当前,计算机技术与网络技术得到了较快发展,计算机软件工程进入到社会各个领域当中,使很多操作实现了自动化,得到了人们的普遍欢迎,解放了大量的人力.为了适应时代的发展,社会各个领域大力引进计算机软件工程.下面是软件工程英文参考文献105个&#xff0c;供大家参考阅读。软件工…

面对新型肺炎疫情,AI能做什么?

来源&#xff1a; AI科技大本营根据最新的新型冠状病毒疫情通报&#xff0c;截至1月30日24时&#xff0c;国家卫生健康委公布确诊病例9692例&#xff0c;重症病例1527例&#xff0c;累计死亡病例213例&#xff0c;另有疑似病例15238例。为防止疫情扩散&#xff0c;全国31省市自…

残疾人计算机高考试题,残疾人勇夺玉溪高考榜眼:想去清华学计算机

没有脚&#xff0c;思想可以替我走很远。矣晓沅网易教育频道综合讯 据春城晚报报道&#xff0c;6年前&#xff0c;备受类风湿关节炎折磨的矣晓沅在家中写下了一篇名为《第一片落叶》的故事&#xff0c;讲述了一个中学生纷繁复杂的校园生活。彼时的他只能坐在轮椅上&#xff0c;…

directx repair_DirectX修复工具增强版

DirectX修复工具最新版&#xff1a;DirectX Repair V3.9 增强版 NEW!版本号&#xff1a;V3.9.0.29371大小: 111MB/7z格式压缩&#xff0c;196MB/zip格式压缩&#xff0c;345MB/解压后其他版本&#xff1a;标准版 在线修复版MD5校验码&#xff1a;DirectX Repair.exe/eeab9900cc…

灯亮怎么办_车辆隔音效果不好怎么办?

会开车并不代表对车了如指掌日常生活中还是有好多车主被诸多问题困扰&#xff0c;比如车辆隔音效果不好怎么办&#xff1f;扳手形状的故障灯亮起是什么意思&#xff1f;今天&#xff0c;就由利星大连为您答疑解惑汽车隔音效果不好该怎么办&#xff1f;有车以后遇到噪音偏大的情…

Linux下使用iotop检测磁盘io使用情况

介绍 Linux下的IO统计工具如iostat, nmon等大多数是只能统计到per设备的读写情况, 如果你想知道每个进程是如何使用IO的就比较麻烦. iotop 是一个用来监视磁盘 I/O 使用状况的 top 类工具。iotop 具有与 top 相似的 UI&#xff0c;其中包括 PID、用户、I/O、进程等相关信息。 实…

springboot 2.3_SpringBoot对消息队列(MQ)的支持

1.异步消息的定义异步消息的主要目的是为了系统与系统之间的通信&#xff0c;所谓异步消息即消息发送者无需等待消息接收者的处理以及返回&#xff0c;甚至无需关心消息是否发送成功。在异步消息中有两个很重要的概念&#xff0c;即消息代理和目的地&#xff0c;当消息发送者发…

改变世界的十大经典物理实验及十大著名思想实验

来源&#xff1a;EETOP科学实验是物理学发展的基础&#xff0c;又是检验物理学理论的惟一手段&#xff0c;特别是现代物理学的发展&#xff0c;更和实验有着密切的联系。现代实验技术的发展&#xff0c;不断地揭示和发现各种新的物理现象&#xff0c;日益加深人们对客观世界规律…

智慧城市_城市大脑:加速构建智慧城市

(来源&#xff1a;天津数港)原标题&#xff1a;城市大脑&#xff1a;加速构建智慧城市加关注当前&#xff0c;伴随着5G、大数据、人工智能、区块链和新基建等一波又一波科技浪潮的到来&#xff0c;智慧城市的建设方兴未艾。然而&#xff0c;“智慧城市不智慧”的问题一直困扰着…

爱尔兰圣三一学院计算机全球排名,QS世界大学学科排名,爱尔兰圣三一学院20个学科进世界百强...

原标题&#xff1a;QS世界大学学科排名&#xff0c;爱尔兰圣三一学院20个学科进世界百强“爱尔兰、教育、悠久学术历史、世界一流、最大图书馆……”&#xff0c;看到这些关键词&#xff0c;个蹦入脑海中的是什么呢&#xff1f;相信大家都已经猜出来了&#xff0c;拥有如此之多…

nginx做服务器入口_「查缺补漏」巩固你的Nginx知识体系

Nginx篇基本介绍Nginx是一款轻量级的 Web服务器 / 反向代理服务器 / 电子邮件&#xff08;IMAP/POP3&#xff09;代理服务器&#xff0c;主要的优点是&#xff1a;支持高并发连接&#xff0c;尤其是静态界面&#xff0c;官方测试Nginx能够支撑5万并发连接内存占用极低配置简单&…

Oracle 维护数据的完整性 一 索引

简介:索引是用于加速数据存取的数据对象,合理的使用索引可以大大降低i/o 次数,从而提高数据的访问性能. 当我们从一张表中检索我们需要的数据是,oralce往往会进行全表扫描,就是遍历所有的数据行,来找到我们需要的数据,并返回结果集给我们,这个过程就像下图: 当这个人需要去图书…

特征值_陶哲轩数学发现的故事 | 特征值特征向量等式

12月3日&#xff0c;陶哲轩在其个人博客上更新了一篇文章&#xff0c;https://terrytao.wordpress.com/2019/12/03/eigenvectors-from-eigenvalues-a-survey-of-a-basic-identity-in-linear-algebra/说他与合作者在arXiv上更新了此前关于特征值的文章Eigenvectors from Eigenva…

迪士尼研究院等将人造“神经纤维”用于软体机器人,赋予其“本体感知能力”!...

来源&#xff1a;机器人大讲堂 导读软体机器人模仿章鱼&#xff0c;象鼻&#xff0c;海星等动物而设计&#xff0c;栩栩如生&#xff0c;他们由软材料&#xff08;硅胶&#xff0c;橡胶&#xff09;构成&#xff0c;有着天生优良的环境适应性以及安全交互性。但是相比于传统机器…

C# 静态类和非静态类(实例类)

1.非静态类里面可以出现静态成员和非静态成员 using System; namespace shuzu { class dom_class{public string name "张三";private int age;public int Age//通过属性访问私有成员{get { return age; }set { age value; }}}class aclass {static void Main(s…

保存时间 默认_一些不起眼但又非常的实用的PPT制作技巧,大大节省PPT制作时间...

从PPT小白到PPT大神的过程中&#xff0c;我们总会无数次碰壁&#xff0c;无数次陷入困境。今天为大家带来的是一些不起眼的PPT技巧&#xff0c;但是非常的实用&#xff0c;不信就看下文吧&#xff01;自定义访问工具栏在PPT中我们有很多的常用操作&#xff0c;例如「左对齐/右对…

人机融合智能:人工智能3.0

来源&#xff1a;人机与认知实验室摘要&#xff1a;人工智能&#xff08;客观智能&#xff09;与人类智能&#xff08;主观智能&#xff09;最有可能演变成为一对相生相克的阴阳对立统一体&#xff0c;从而开启一个全新的时代&#xff0c;即“人机融合智能时代”。在“人机融合…

css 背景图片透明度_web前端入门到实战:css重点知识和bug解决方法

1.图片向下撑大3像素问题在一个盒子里面放一张图片&#xff0c;默认情况下&#xff0c;图片会向下撑大3像素&#xff0c;有以下几种解决方法&#xff1a;1.1给图片添加display:block&#xff1b;1.2给图片添加float:left&#xff1b;1.3 给图片添加vertical-align:middle;1.4 给…

像个字段相减绝对值_遇见你丨像个英雄一样活着 瘫痪作家用手指敲击文字著百万字文学作品...

患有先天性肌迟缓症&#xff0c;出生后便全身瘫痪&#xff0c;这样一个原本生活里充满艰难的人&#xff0c;他的名字却出现在了中国作家协会的2020年新会员名单中&#xff0c;他叫高淳。 今年36岁的高淳&#xff0c;家住江苏常熟&#xff0c;从2002年开始文学创作&#xff0c;凭…