




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验报告
一-矩阵运算
一.实验目的。
1.通过实践加强对程序设计语言课程知识点的理解和掌握,培养对课程知识综合
运用能力、实际分析问题能力及编程能力,养成良好的编程习惯。
2.通过实践进一步领略程序设计的特点和应用,提高运用C++语言以及面向对
象知识解决实际问题的能力。
3.通过实践掌握用C++语言编写面向对象的实用程序的设计方法,对面向对象方
法和思想增长感性的结识;
4.学会运用C++程序设计语言编写出一些短小、可靠的Windows实用程序,切实
提高面向对象的程序设计能力。为后续的相关课程的学习打下基础。
二.实验规定。
1.学会建立模板类;
2.实现矩阵的“加”、“减”、“乘”、“数乘”、“转置”;
3.动态内存分派并用随机数填充;
4.注意“加”、“减”、“乘”要进行条件的判断;
三.设计思绪。
3.1算法基本流程
1)获取用户输入的矩阵1的行数和列数,动态生成一个一维数组
2)运用随机数生成数组成员,并运用两个循环输出数组,使其符合矩阵的格式
3)矩阵2同矩阵1的解决方法
4)通过两个矩阵的行数和列数比较来判断能否进行加减乘等运算,如不能,输出相关信息
5)如可以进行计算,则运用数组进行相应运算,并按照对的格式输出
6)通过改变一维数组中元素的顺序来实现转置并输出
3.2算法流程图
四.基本界面。
矮无标蔻-矩阵IoI回I区I
五.关键代码。
5.1关键类的声明
classCMatrixc1ass
(
public:
£Matrixclass()
intm_Row=0;〃行
intm_Col=0;//列
~>m_pElementsNULL;〃一维数组
};
virtual〜CMatrixclass()
odelete[]m_pE1ements;
。}
public:
intm_Row;
ointm_Co1;
©int*m—pElements;
);
5.2关键函数代码
voidCMyView::OnCHECKadd()
nums.SetCheck(0);
m_combine.SetCheck(0);
msubtrict.SetCheck(0)
)
voidCMyView::0nCHECKsubtrict()
(
orn_add.SetCheck(0);
0m_combine.SetCheck(0);
0m_nums.SetCheck(O)
voidCMyView::0nCHECKcombine()
m_add.SetCheck(0);
«>m_nums.SetCheck(0);
m—subtrict.SetCheck(0);
)
voidCMyView::OnCHECKnums()
,m_add.SetCheck(0);
仰_combine.SetCheck(0);
_subtrict.SetCheck(0);
)
voidCMyView::0nBUTTONcompute()
4JpdateData(TRUE);
//TODO:Addyourcontro1notificationhandlercode
here
if(m_add.GetState()==1)
b{
3if(op1->imax!=op2—>imax||op1->jmax!=op2->jmax||
opl==NULL||op2==NULL)
(
。m_resu1t二〃行数列数不等无法相加!〃;
®else
atrix<int>c(opl—>imax,opl->jmax);
gc=*opl+*op2;
^>m_result=z/matrixl+matrix2”;
^>m_result+=〃\r\n〃;
。m—result+=c.my_show();
6)
i
®elseif(m_subtrict.GetState()==1)
b{
oif(opl—>imax!=op2->imax||opl->jmax!=op2->jmax||oP
1==NULL||op2==NULL)
8(
^m_result="行数列数不等无法相减!〃;
•)
eIse
°(
即atrix<int>c(op1->imax,opl->jmax);
c=*op1-*op2;
om_result=nmatrixl-matrix2”;
匕fi>m_result+="\r\n”;
。m_resu1t+=c.my_show();
oeIseif(mcombine.GetState()==l)
if(op1—>jmax!=op2->imaxI|op1==NULL||op2==NULL)
6m_result二”以上无法相乘!〃;
«>else
。(
。matrix<int>c(opl->imax,op2->jmax);
c=(*opl)*(*op2);
0m_resu1t=/zmatrixl*matrix2〃;
am_result+=〃\r\n〃;
。m_resu1t+=c.my_show();
®elseif(m_nums.GetState()==1)
(
^if(op2==NULL)
00{
gm_resu1t="运算不出结果!〃;
oo)
gelse
6{
atrix<int>c(op2->imax,op2->jmax);
c=m_k*(*op2);
om_resuit=,,k*matrix2〃;
皿—result+="\r\n〃;
om_result+=c.my_show();
©else
m_result="请先选定一个算法!”;
}
oUpdateData(FALSE);
o
)
voidCMyView::0nBUTT0Nrotate()
(
UpdateData(TRUE);
if(m_rl.GetState()==1)
(
gif(opl==NULL)
8{
^m_result="请先输入矩阵!〃;
g}
匕else
6{
沏atrix<int>c=rotate(*opl);
^m_result=,/matrixl转置〃;
00m一result+=〃\r\n〃;
Bm_result+=c.my_show();
}
®elseif(m_r2.GetState()==1)
。(
司f(op2==NULL)
,(
o^m_resu1t="请先输入矩阵!”;
oo]
ge1se
。matrix<int>c=rotate(*op2);
gm_resu1t=,,matrix2转置〃;
金用_resu1t+=〃\r\n";
3叫_result+=c.my_show();
o}
}
else
(
om_result=〃请选择一个矩阵!”;
}
®UpdateData(FALSE);
)
voidCMyView::OnCHECKr1()
UpdateData(TRUE);
»m_r2.SetCheck(0);
UpdateData(FALSE);
)
voidCMyView::OnCHECKr2()
(
UpdateData(TRUE);
<>m_r1.SetCheck(0);
®UpdateData(FALSE);®
}
六.实验心得与编程收获。
这个程序是相对简朴一些的,但在编写的过程中我仍然感觉收获很多.一方面是
合理运用一维数组,运用它来进行矩阵的相关运算,并且最后运用数组来输出矩阵,
这也加强了我运用CString的能力.然后在制作界面方面使我更加得心应手,
可以快速完毕界面及相关的属性设立.最后尚有动态生成矩阵方面也帮我复习了
从前的知识.
七.总结展望与参考书目。
7.1总结展望
尽管这次的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 王者荣耀英雄试题及答案
- 外科休克试题及答案
- 2025年策划合作经营体育培训学校合作协议范本
- 2025年六人策划合作项目经营协议书
- 2025年商店经营承包协议
- 2025年合作伙伴策划协同发展协议
- 2025年教育机构租赁场地使用权协议范本
- 高管责任与风险防控的有效路径
- 2025年建筑工程策划质量监管合作协议
- 知识产权保护的现代化路径
- GA/T 2014-2023道路交通信号配时运行管理规范
- 【9语二模】北京市东城区2025年6月份中考二模语文试卷
- 九师联盟2025届高三押题信息卷(四)历史试卷(含答案)
- 2025年中国稀土磁性材料行业市场规模调研及投资前景研究分析报告
- T/DGGC 005-2020全断面隧道掘进机再制造检测与评估
- 湖南省永州市冷水滩区京华中学2025年中考二模 历史试题(含答案)
- (三模)烟台市2025届高三高考诊断性测试地理试卷(含答案)
- 2024年广东省中考生物+地理试卷(含答案)
- DL-T5796-2019水电工程边坡安全监测技术规范
- 江苏苏州昆山2022-2023学年小升初考试数学试卷含答案
- 全自动立式制袋包装机
评论
0/150
提交评论