没有合适的资源?快使用搜索试试~ 我知道了~
首页设计一个能够实现n×n矩阵操作的类(课程设计报告)
设计一个能够实现n×n矩阵操作的类(课程设计报告)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/star.98a08eaa.png)
.基于运算符重载的方阵类设计与实现 设计一个能够实现n×n矩阵操作的类,这里的n可变,主要功能包括: (1) 使用构造函数完成方阵的初始化赋值; (2) 使用析构函数完成矩阵动态内存的释放; (3) 重载加法运算符+,实现两个矩阵的和; (4) 重载加法运算符-,实现两个矩阵的差; (5) 重载加法运算符*,实现两个矩阵的积; (6) 重载加法运算符=,实现两个矩阵之间的赋值; (7) 使用拷贝构造函数完成方阵的拷贝构造; (8) 重载加法运算符<<,实现矩阵按照行列的格式输出; (9) 编写一个主函数测试上述功能。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/3968983/bg1.jpg)
课 程 设 计 任 务 书
学院 信息科学与工程 专业 电子信息科学与技术
学生姓名 学号
设计题目 设计一个能够实现 n×n 矩阵操作的类/计算器程序
内容及要求:
PART I.设计一个能够实现 n×n 矩阵操作的类
矩阵是线性代数里一个重要的概念,在这里采用 C++语言实现一个简单的 n×n 矩阵
类,类中包括一些简单的运算等操作具体要求如下:
(1)使用构造函数完成方阵的初始化赋值(动态内存分配);
(2)使用析构函数完成矩阵动态内存的释放;
(3)重载加法运算符+、-、*、=,实现两个矩阵的运算;
(4)使用函数实现矩阵的转置;
(5)使用函数求矩阵中的最大、小值、对应行列式的值;
(6)重载加法运算符<<,实现矩阵按照行列的格式输出;
(7)编写一个主函数测试上述功能。
PART II.计算器程序
……………………………………………
进度安排:
第 17 周:分析题目,查阅课题相关资料,进行类设计、算法设计;
第 18 周:上机调试程序,程序测试与分析,撰写课程设计报告,准备答
辩。
指导教师(签字):
年 月 日
学院院长(签字)
年 月 日
![](https://csdnimg.cn/release/download_crawler_static/3968983/bg2.jpg)
目 录
PART I
PART I........................................................................................................3
1 需求分析.................................................................................................3
2 算法基本原理.........................................................................................3
3 类设计.....................................................................................................4
4 详细设计.................................................................................................5
4.1 类的接口设计......................................................................................................5
4.2 类的实现..............................................................................................................6
4.3 主函数设计.........................................................................................................11
5 运行结果与分析...................................................................................12
5.1 程序运行结果....................................................................................................12
5.2 运行结果分析.....................................................................................................13
PART Ⅱ.....................................................................................................14
1 需求分析...............................................................................................14
2 算法基本原理.......................................................................................14
3 类设计...................................................................................................15
4 详细设计...............................................................................................16
4.1 类的接口设计....................................................................................................16
4.2 类的实现............................................................................................................18
4.3 主函数设计........................................................................................................24
5 运行结果与分析...................................................................................24
5.1 程序运行结果....................................................................................................24
5.2 运行结果分析.....................................................................................................25
参考文献..................................................................................................25
1
![](https://csdnimg.cn/release/download_crawler_static/3968983/bg3.jpg)
2
![](https://csdnimg.cn/release/download_crawler_static/3968983/bg4.jpg)
PART I
1 需求分析
矩阵是线性代数里一个重要的概念,在这里采用 C++语言实现一个简单的
n×n 矩阵类,类中包括一些简单的运算等操作具体要求如下:
(1)使用构造函数完成方阵的初始化赋值(动态内存分配);
(2)使用析构函数完成矩阵动态内存的释放;
(3)重载加法运算符+,实现两个矩阵的和;
(4)重载加法运算符-,实现两个矩阵的差;
(5)重载加法运算符*,实现两个矩阵的积;
(6)重载加法运算符=,实现两个矩阵之间的赋值;
(7)使用函数实现矩阵的转置;
(8)使用函数求矩阵中的最大值;
(9)使用函数求矩阵中的最小值;
(10)添加函数 Det 以得到矩阵对应行列式的值;
(11)重载加法运算符<<,实现矩阵按照行列的格式输出;
(12)编写一个主函数测试上述功能。
2 算法基本原理
矩阵进行加法,减法,乘法运算时,必须满足两个矩阵阶数相同的条件。加法,减法
计算是把矩阵对应的各行各列的每一对数值分别进行加减法运算,结果组成一个新的同阶
矩阵。矩阵乘法是这样定义的,只有当矩阵 A 的列数与矩阵 B 的行数相等时 A×B 才有
意义。一个 m ×n 的矩阵 a
(
m,n)左乘一个 n×p 的矩阵 b
(
n,p),会得到一个 m×p 的矩
阵 c
(
m,p),满足 矩阵乘法满足结合率,但不满足交换率
3
![](https://csdnimg.cn/release/download_crawler_static/3968983/bg5.jpg)
3 类设计
从上面的算法分析可以看到,本设计面临的计算问题的关键是矩阵运算。
可以定义一个矩阵类 Matrix。矩阵类 Matrix 只处理 n×n 类型的方阵,方阵用一
个一维数组来存放,矩阵类 Matrix 的数据成员包括数组的首地址 num 和阶数
n。矩阵类 Matrix 的功能有:默认构造函数 Matrix()、构造函数 Matrix(int n,int
*a)、手动输入矩阵函数 SetMatrix(int n)、析构函数~Matrix()、重载加法运算符
+,实现两个矩阵的和函数 Matrix operator +(const Matrix &a)、重载加法运算符
-,实现两个矩阵的差函数 Matrix operator -(const Matrix &a)、重载加法运算符
*,实现两个矩阵的积函数 Matrix operator *(const Matrix &a)、重载加法运算符=,
实现两个矩阵之间的赋值函数 Matrix &operator =(const Matrix &a)、实现矩阵的
转置 Transpose()、求矩阵中的最大值 Max()、求矩阵中的最小值 Min()、求行列
式 Det()、重载加法运算符<<,实现矩阵按照行列的格式输出 Matrix operator
<<(const Matrix &a)、我的求行列式函数 MyDet(int* array,int Jie)。
矩阵类 Matrix 如图1所示。
Matrix
+n:int
+num:int
+Matrix()
+Matrix(int n,int *a)
+ SetMatrix(int n):void
+~Matrix()
+ operator +(const Matrix &a):Matrix
+ operator -(const Matrix &a):Matrix
+operator *(const Matrix &a):Matrix
+ &operator =(const Matrix &a):Matrix
+ Transpose():void
+ Max():int
+ Min():int
+ Det():double
+ operator <<(const Matrix &a):Matrix
-MyDet(int* array,int Jie) :double
图 1 Matrix 类的 UML 图形表示
4
剩余25页未读,继续阅读
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
纯白的季节
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- BSC关键绩效财务与客户指标详解
- 绘制企业战略地图:从财务到客户价值的六步法
- BSC关键绩效指标详解:财务与运营效率评估
- 手持移动数据终端:常见问题与WIFI设置指南
- 平衡计分卡(BSC):绩效管理与战略实施工具
- ESP8266智能家居控制系统设计与实现
- ESP8266在智能家居中的应用——网络家电控制系统
- BSC:平衡计分卡在绩效管理与信息技术中的应用
- 手持移动数据终端:常见问题与解决办法
- BSC模板:四大领域关键绩效指标详解(财务、客户、运营与成长)
- BSC:从绩效考核到计算机网络的关键概念
- BSC模板:四大维度关键绩效指标详解与预算达成分析
- 平衡计分卡(BSC):绩效考核与战略实施工具
- K-means聚类算法详解及其优缺点
- 平衡计分卡(BSC):从绩效考核到战略实施
- BSC:平衡计分卡与计算机网络中的应用
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)