一、 实验环境
VC6.0,
二、 实验目的
输入任意两个稀疏矩阵进入三元表,求出其加法运算后的矩阵,转置矩阵,输出矩阵。
三、 实验内容
1用C语言实现稀疏矩阵的三元组存储结构 ;
2实现稀疏矩阵的矩阵输入、矩阵输出等算法;
3.利用三元组存储结构解决稀疏矩阵的运算问题(稀疏矩阵的转置、稀疏矩阵的加法等) 。
四、 数据结构与算法思想描述
用三元表实现的。采用结构体表示三元表,三元组表。
(1)创建稀疏矩阵,以行优先顺序存放,用户只需输入稀疏矩阵非零元素的个数,及其具体坐标,值。就能依次放入三元表中,
(2)两个稀疏矩阵相加,首先遍历A,将值全部放入C里,同样,B也放入C里。
循环A,B。如果两矩阵存在坐标相同的点则相加之后更改C中同样位置的值。
(3) 稀疏矩阵的转置,将A的行列数互换再赋值给D。遍历a,将元素值的横纵坐标互换,元素值不变,赋值到d.的三元表组里面。
(4) 输出稀疏矩阵,建立一个数组,大小最大为【10】【10】,全部赋值为0,在遍历三元表,当行列存在时,将三元表的元素值赋值到数组里。在逐个输出数组。
#include<stdio.h&