实习报告
题目:稀疏矩阵运算器
班级: 计算机041013班____ 姓名:屠讯南______ 学号:04101334_____ 完成日期 :2005-12-22_
1. 需求分析
1. 输入矩阵的行数和列数,并判别给出的2个矩阵的行,列数对于要求作运算是不是匹配.
2. 程序可以对三元组的输入加以限制,比如:设置元素时候元素的行或者列数超过了原本设置的的最大行数或者列数,则要提醒一下,三元组中的元素的行数和列数产生重叠的时候是作怎么样的处理等,以便提高程序的正确性.
3. 在用三元组表示稀疏矩阵时候,相加或者相减所得结果矩阵应该另外生成,乘积矩阵也可用二唯数组存放
4. 测试数据:
1).输入:1号矩阵为3行3列,三个非零元,2号矩阵为3行3列,3个非零元,将2个矩阵相加
_ 输出:10_ 0_ 0____ 0_ 0_ 0____ 10_ 0_ 0
______________ 0__ 0__ 9_ +_ 0__ 0_ -1__ =_ 0__ 0__ 8
______________ -1_ 0__ 0____ 1__ 0_ -3_____ 0__ 0__ -3
_______ 2)输入:1号矩阵为3行2列,3个非零元,2号矩阵为3行2列,3个非零元,将2个矩阵进行相减
_________ 输出:10_ 0_____ 0__ 0____ 10__ 0
______________ 0__ 9_ -__ 0__ -1_ =_ 0__ 10
_____________ -1__ 0_____ 1__ -3____ -2__ 3
_______ 3)输入:1号矩阵4行5列,6个非零元,2号矩阵为5行3列5个非零元,进行相乘
_________ 输出:4________________________ 3__ 0__ 0____
___ ____________ 4__ -3__ 0__ 0__ 1_____ 4__ 2__ 0_____ 0__ -6__ 0
________________ 0__ 0__ 0__ 8__ 0__ *__ 0__ 1__ 0__ =_ 8__ 0__ 0
________________ 0__ 0__ 1__ 0__ 0______ 1__ 0__ 0_____ 0__ 1__ 0
________________ 0__ 0__ 0__ 0__ 70_____ 0__ 0__ 0_____ 0__ 0__ 0
二.概要设计
1.抽象数据类型系数矩阵定义如下
ADT sqarsematrix{
___ 数据对象:D={aij|i=1,2,…….,m;j=1,2,……..,n;
__________________ ai,j∈Elemset,m和n分别成为矩阵的行数和列数}
___ 数据关系:R={row,col}
____________ row={<ai,j,ai,j+1 >|1<=i<=m,1<=j<=n-1}
____________ col={<ai,j,ai+1,j}|1<=i<=m-1,1<=j<=n}
基本操作:
_____ AddMatrixInfo();
_____ 操作结果:创建稀疏矩阵.
_____ Plus();
_____ 操作结构:将上面创建好的2个稀疏矩阵进行相加以通常阵列输出
_____ Reduce();
_____ 操作结构:将上面创建好的2个稀疏矩阵进行相减以通常阵列输出
_____ Multi();
_____ 操作结构:将上面创建好的2个稀疏矩阵进行相乘以通常阵列输出
_____ Exit();
_____ 操作结果:退出