欢迎来到天天文库
浏览记录
ID:46607579
大小:93.50 KB
页数:15页
时间:2019-11-26
《车向前 矩阵旋转反射》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C++课程设计《矩阵的旋转反射》指导老师:张微设计者:车向前学号0508190114程序功能介绍实现矩阵的旋转反射程序程序设计要求1)设计一个矩阵类,将相应的函数和数据封装到类中,简化程序。2)修改程序结构,使程序可以反复执行,直至按键退出为止。3)本程序用数组表示5*5矩阵,将其改为根据输入矩阵的大小动态分配空间[n][n]来放置数据,其中n为用户可输入的任意整数。4)增加类的构造函数和成员函数,使得矩阵数据既可以用在对象初始化的赋值,也可以通过键盘赋值,还可以通过读数据文件输入。5)用模板的形式改写矩阵数据类型,使得矩阵中的数据既可
2、以是整型数据,也可以是浮点型数据,执行程序时,分别定义一个整型矩阵和一个浮点型矩阵进行验证。6)增加程序功能,除实现n*n矩阵的旋转反射外,还增加a求矩阵的摸;b可以通过键入的行号与列号,任意修改矩阵中的元素值;c可以给定矩阵中的某一元素值,查询其所在的行号和列号,,关键函数说明voidShow(intk=1);//输出矩阵voidR90();//旋转90度voidR180();//旋转180度voidR270();//旋转270度voidReflectX(intk=1);//X轴反射voidReflectY(intk=1);//Y轴反
3、射voidReflectO(intk=1);//对角线反射intLookForData();//查找intModifyData();//修改intModefyData(introw,intcolumn);//修改doubleRange();//求模voidInputFromFile(char*filename);//从文件中输入矩阵voidInputFromKeyboard();//从键盘中输入矩阵主要思路定义出类来,紧接着把主函数弄出来,再按调用顺序把每个函数依次列出来,对教材原程序增加的很多。个人设计心得:坦白的说,上学期我的C++
4、成绩其实不怎么样,有很多的地方虽然能够做出来,但深究其中的缘由,我却是一知半解的,刚开始的时候,源代码需要我来阅读,虽然花了很长的时间,但体会不是特别深。后来我把基础教材对照着源代码阅读,效果感觉好多了。但真正上机操作时,就在很多方面上出现了问题,虽然自己的能力最后还是解决了,但接下来的增加功能上却又感到了力不从心。在这次编程的过程中,我不断的在运行中发现自己的错误,有的检查出来的错误我一时看不出来时怎么回事,就又回归课本,深深地研究其中的关系,并问了舍友,说实话,与其他同学相比,我选的这个程序难度其实不大,但由于我上学期基础不是太好,
5、所以大部分时间都耗在改错误上了,所以我刚开始尝试做过的四则运算课程中途无奈的放弃了。程序的思路其实很简单明确,但问题就在于难以看明白编译查错的那一堆错误怎样改动,有时就那么几个错误,但绞尽脑汁花好长时间挨个试,不停的翻书才能找出来,一次是减少到出现14个错误,最后实在是怎么也看不懂哪里错了,索性把标注的部分删掉重新写了一遍,居然只剩了1个错误,真是惊喜,还有临近结束时本来已经零个错误了,但发现求模的要求根本没达到,所以只好再重新改下去。在课程设计创新方面,由于程序的确复杂度不高,以及时间并不是很充足,所以只是尽善尽美的完成了课程设计的基
6、本要求。在以后的时间里还需要继续完善,毕竟一个完美的程序完成需要很长的调试时间,要付出很多精力。在此,向大四的贾磊表示谢意,他借给我他的宏基笔记本,使不用再去机房抢座位了,而且我还能在晚上下了晚自习在宿舍再次修改程序,这大大增加了我的可支配时间,看着自己费尽辛劳所编的程序最后终于开花结果能够流畅的运行并满足了所有的要求,我心中的自豪感油然而生,紧接着又把界面添加了一点,使之更完美,以喜悦的心情写下了这份报告书,这么多天的辛勤和脑力折磨终于有了成果,黄天不负有心人,可以说,这次编程使我上学期很多不太明白的地方有了新的理解,比如析构函数,数
7、组等方面,为了能取得好成绩,我花了恒多时间来做他。最后,对我的任课指导老师张微表示由衷的敬意,谢谢,程序各部分主要程序的详解如下所示:#include#include#include#includetemplateclassCMatrix{intnNum;T**Mat;T**MatR;T**MatRefl;T**Matr;T**Matre;public:CMatrix();CMatrix(intn);~CMatrix();voidShow
8、(intk=1);//输出矩阵voidR90();//旋转90度voidR180();//旋转180度voidR270();//旋转270度voidReflectX(intk=1);//X轴反射voidRe
此文档下载收益归作者所有