判断矩阵是否对称?8Р2.3.3 对对称矩阵进行压缩存储?11Р2.3.4将存储后的矩阵按照数学形式输出?14Р3 程序编码?17Р4 调试与测试?24Р总结?30Р参考资料?30Р1 课题描述Р矩阵是很多科学与工程计算问题中研究的数学对象。在此,我们感兴趣的不是矩阵本身,而是如何存储矩阵的元,从而使矩阵的各种运算能有效进行。Р通常,用高级语言编制程序是,都是用二维数组来存储矩阵元。然而在数值分析中经常出现一些阶数很高的矩阵,同时在矩阵中有许多值相同的元素或者是零元素。有时为了节省存储空间,可以对这类矩阵进行压缩存储。Р所谓压缩存储是指:为多个值相同的元只分配一个存储空间;对零元不分配空间。Р因此矩阵的压缩存储很有现实意义。Р开发工具:Visual C++ 6.0Р2 设计过程Р本次课程设计采用结构化程序设计方法,自顶向下、逐步细化、模块化设计、结构化编码的方法实现算法。算法只适合特殊矩阵中的对称矩阵,而对一般矩阵,不进行压缩存储。存储时采用的顺序存储结构主要为数组,包括一维数组和二维数组。程序中定义了一个结构体 Array s,其成员为两个数组,具体设计过程如下:Р2.1 各模块程序的伪码算法Р (1)构建矩阵:РCreatMatrix( Array &s) ;Р 操作结果:创建任意矩阵。Р(2)判断矩阵是否对称:РJudgeMatrix(Array s);Р初始条件:矩阵M存在。Р操作结果:判断M是否为对称矩阵,若不是,则重新构建,最终得到对称矩阵。Р(3)压缩存储:РCompMatrix(Array &s);Р初始条件:矩阵M为对称矩阵。Р操作结果:将M压缩存储到一维数组中。Р(4)输出所压缩的对称矩阵:РOutputMatrix(Array s);Р初始条件:矩阵M已被压缩存储到一维数组中。Р操作结果:将M按照数学形式输出。Р2.2 各模块之间调用关系图Р图2.1