第六章 程序调试与测试
6.1 运行该程序的操作平台 6.1.1 硬件要求:
此程序需在一台PC机上运行,要用INTER或AMD的CPU,其他没多大要求。 6.1.2 软件要求:
本程序能在WINDOWS 9X/2000/XP/2003下运行。 6.2 错误分析
1、cannot convert parameter 1 from 'struct RLSMatrix *' to 'struct RLSMatrix &' 在调用主函数的时候结构体之间不能转化(应该尽量避免该错误的出现)。
2、Cannot modify a constant object 不能修改一个常量对象,对定义为常量的对象进行不合法的操作都将引起该错误。
3、subscript requires array or pointer type 由于ctemp未定义导致了一系列错误。
4、Extra parameter in call 调用函数时出现多余函数,调用一个函数时,其实际参数的个数多余函数定义中的参数个数。
5、For statement missing )for 后面缺少“)”,在编制程序的时候,编译程序会发现控制表达式后面缺少右括号。
源程序在编写的时候,总是存在函数未定义或者变量、结果体等未定义的问题,这说明在编程的时候还是不够细心,以后要尽量避免这样的问题。总之,我们在编程时应该尽量认真检查,避免一些不必要的错误发生!
第 22 页 共26页
第七章 结果分析
7.1 程序运行结果
7.1.1 程序主菜单面板
图-1 为程序主菜单
7.1.2 输入选项a运行结果
图-2 为稀疏矩阵求和运算结果
第 23 页 共26页
7.1.3 输入选项b运行结果
图-3 为稀疏矩阵求差运算结果
7.1.4 输入选项c运行结果
图-4 为稀疏矩阵的求积运算结果
第 24 页 共26页
7.1.5 输入选项d运行结果
图-5 为稀疏矩阵转置运算的结果
7.1. 6 程序运行结束
图-6 为稀疏矩阵结术运算
7.2 时间及空间复杂度分析
累加器ctemp初始化的时间复杂度为O(M.nu * N.nu),则Q的所有非零元的时间复杂度为O(M.tu X*N.tu/N.mu),进行压缩存储的时间复杂度为O(M.mu * N.nu),总的时间复杂度就是O(M.nu * N.nu+M.tu X*N.tu/N.mu)。
第 25 页 共26页
第八章 总结
通过这次维持两周的课程设计,使我对数据结构有了更深的理解,以前对稀疏矩阵这一章节概念很模糊,在当时的学习过程中也有很多不明白的,这次课程设计使我对稀疏矩阵这一章节不理解的地方都有了进一步的理解。虽然在实际操作中遇到了很多困难,但通过找资料,请教同学,不仅使我的动手能力增强了,同时也让我的沟通能力都有了提高。在整个课程设计中,开始都无从下手,通过查阅相关资料,使自己有了雪头绪,但是总是在编写程序中发生错误,有时会很没耐性,也会发出怨言,但最后都被我克服了,编程一定要有耐心,同时还有认真仔细,尽量保证不出现错误。编程要有条理,不仅使自己要看懂 ,别人也能看懂,这样有利于程序的改正。
当花了两周时间做完这个课程设计时,心里有种说不出来的高兴,自己动手完成的设计有一种成就感,增强了自己的自信心,我相信在今后的学习中,我会保持这种良好的心情投入到各科的学习中,使我的成绩不断提高。
第 26 页 共26页
参考文献
谭浩强著,C++程序设计,北京,清华大学出版社,2006
张白一,崔尚森编著,面向对象程序设计---Java,西安,西安电子科技大学出版社,2011 谭浩强主编,C++程序设计题解与上机指导,北京,清华大学出版社,2006 严蔚敏,吴伟民编著,数据结构(C语言版),北京,清华大学出版社,2011 吴乃陵,C++程序设计实践教程,北京,清华大学出版社,2006 谭浩强著,C程序设计(第三版),北京,清华大学出版社,2011
第 27 页 共26页