矩阵操作C++

矩阵操作C++

ID:40503893

大小:96.78 KB

页数:27页

时间:2019-08-03

矩阵操作C++_第1页
矩阵操作C++_第2页
矩阵操作C++_第3页
矩阵操作C++_第4页
矩阵操作C++_第5页
资源描述:

《矩阵操作C++》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、淮阴工学院算法设计技能训练设计题目:矩阵操作(动态数组)院别:计算机与软件工程学院专业:计算机科学与技术班级:XXXXXXXXXX学生姓名:XXX学号:XXXXXXXXXX指导教师:XXXXXX2017年11月算法设计技能训练成绩班级:计算机1161学生姓名:XXX学号:1161301105院别:计算机与软件工程学院算法设计技能训练题目:矩阵操作(动态数组)序号考核指标每项总分所得分数1平时成绩:思想表现、学习态度、工作作风、出勤率。102答辩成绩:课题难度、工作量大小、任务完成情况。403技能训练报告成绩:内容

2、正确性、完整性、书写规范性。50总分教师签字:日期:目录1引言11.1课题描述11.2课题意义11.3设计思想12总体设计22.1总体功能结构22.2类的分析与设计23详细设计和实现33.1构建m*n的全零矩阵33.2构建n*n的方阵33.3拷贝构造函数(深拷贝)33.4根据一维数组拷贝函数33.5根据二维数组拷贝函数33.6析构函数43.7矩阵转置43.8矩阵信息获取及修改43.9矩阵加法43.10矩阵减法43.11矩阵乘法53.12重载=运算符53.13打印函数54系统测试64.1主界面64.2创建矩阵64.

3、3矩阵相加84.4矩阵相减94.5矩阵数乘94.6矩阵转置104.6矩阵相乘10结论11致谢12参考文献13附录14231引言1.1课题描述设计矩阵操作类算法,并做到可以动态的操作不同类型的数组,矩阵操作包括各种类型的构造函数如直接构造m*n型的全零矩阵或者全零方阵或者根据一维数组二维数组来构造矩阵,然后是析构函数。还需要返回行数列数以及设置某一位置的值和返回某一位置的值,操作类主要包括矩阵的转置、加减乘除和数乘赋值功能还有打印功能1.2课题意义矩阵是线性代数研究的主要对象。矩阵是由来源于某一问题的有关的数据所组

4、成的矩形数表,在对矩阵定义了一些重要的运算并逐渐形成了矩阵的理论体系后,矩阵成为对数学研究即应用非常有效的数学工具,矩阵计算的理论与方法在许多实际问题研究中有着广泛的应用。将矩阵用代码实现可以大大减少实际计算工作量,使人们在生活研究方面得到很大的便利,省时省力。1.3设计思想本算法主要设计一个Matrix的类来实现矩阵的各种操作。该矩阵操作的数据类型可以自己选择,因为采用了模板,相对的设计时也会稍微繁琐一些。矩阵数据成员主要有矩阵元素的头指针,矩阵行数rowNum,矩阵列数colNum。公有成员函数则要实现各种方

5、式的构造函数如直接构造m*n型的全零矩阵或者全零方阵或者根据一维数组二维数组来构造矩阵。获得矩阵信息的功能如获得矩阵的行数列数获得矩阵某一位置的值打印矩阵等。还有修改矩阵某一位置的值的功能,再接下来是最重要的矩阵的各种操作包括加减乘和数乘还有转置等,这些主要通过重载运算符来实现。232总体设计2.1总体功能结构2.1.1数据成员包括矩阵类所开辟的空间的头指针item、矩阵行数rowNum、矩阵列数colNum。2.1.2主要功能包括在这里采用C++语言实现一个可动态分配的矩阵类,类中包括一些简单的运算等操作具体要

6、求如下:(1)使用构造函数完成矩阵的初始化赋值(动态内存分配);(2)使用拷贝构造函数完成矩阵复制的深拷贝;(3)使用析构函数完成矩阵动态内存的释放;(4)使用函数实现两个矩阵的和;(5)使用函数实现两个矩阵的差;(6)使用函数实现两个矩阵的积;(7)使用函数求矩阵的数乘;(8)使用函数实现矩阵的转置;(9)编写一个主函数测试上述功能。2.2类的分析与设计根据实验要求,设计Matrix类,头文件主要有,,,除了矩阵所开辟的空间的头指针和矩阵行数列数为类的私有成

7、员其余均为类的公有成员。因为用了模板所以实现时要注意格式对应,每个函数在类外定义时记得在前面加一句template,里面的类型定义如果是要设计矩阵内部元素的都用T来代替,然后返回类型还有形参如果是Matrix的话记得在后面加。233详细设计和实现3.1构建m*n的全零矩阵构造时注意容错率,当m,n的输出出错时可以进行提醒并重新输入,输入正确行数m和列数n,item开辟一个新的大小为m*n的空间,空间的数据类型因为使用了模板可以根据使用者的要求进行变换。矩阵的所有元素在空间是按行依次线性排列的

8、。通过for循环将所有数据成员赋值为零。3.2构建n*n的方阵构造时注意容错率,当n的输出出错时可以进行提醒并重新输入,输入正确n,item开辟一个新的大小为n*n的空间,空间的数据类型因为使用了模板可以根据使用者的要求进行变换。方阵的所有元素在空间是按行依次线性排列的。通过for循环将所有数据成员赋值为零。3.3拷贝构造函数(深拷贝)这里采用深拷贝,而不是直接复制值的浅

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。