稀疏矩阵运算器实验报告.doc

稀疏矩阵运算器实验报告.doc

ID:50775139

大小:80.00 KB

页数:5页

时间:2020-03-14

稀疏矩阵运算器实验报告.doc_第1页
稀疏矩阵运算器实验报告.doc_第2页
稀疏矩阵运算器实验报告.doc_第3页
稀疏矩阵运算器实验报告.doc_第4页
稀疏矩阵运算器实验报告.doc_第5页
资源描述:

《稀疏矩阵运算器实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、稀疏矩阵运算器一:问题描述:稀疏矩阵是指那些多数元素为零的矩阵。利用稀疏特点进行储存和计算可以大大节省储存空间,提高计算效率。实现一个能进行称稀疏矩阵基本运算的运算器。基本要求:以带逻辑链接信息的三元组顺序表表示稀疏矩阵,实现矩阵相加,相减,相乘的运算。稀疏矩阵的输入形式采用三元组表示。而运算结果的矩阵则用通常的阵列形式列出。测试数据:+=+=*=二概要设计:intCreateSMatrix(TSMatrix&M)操作结果:创建矩阵MvoidDestroySMatrix(TSMatrix&M)初始条件:矩阵M存在操作结果:销毁矩阵M;voidPrintSMatrix(TSMatrixM

2、)初始条件:矩阵M存在操作结果:打印矩阵MintAddSMatrix(TSMatrixM,TSMatrixN,TSMatrix&Q)初始条件:矩阵M,N,Q存在操作结果:矩阵M,N,相加并储存于矩阵QintXSMatrix(TSMatrixM,TSMatrixN,TSMatrix&Q)初始条件:矩阵M,N,Q存在操作结果:矩阵M,N,相减并储存于矩阵QintMultSMatrix(TSMatrixM,TSMatrixN,TSMatrix&Q)初始条件:矩阵M,N,Q存在操作结果:矩阵M,N,相乘并储存于矩阵Q三,详细程序#include"stdafx.h"#include"stdio.

3、h"#include"stdlib.h"#defineMAXSIZE100//非零元个数的最大值structTriple{inti,j;//行下标,列下标inte;//非零元素值};structTSMatrix{Tripledata[MAXSIZE+1];intrpos[MAXSIZE+1];//非零元三元组表,data[0]未用intmu,nu,tu;//矩阵的行数、列数和非零元个数};//bo5-2.cpp三元组稀疏矩阵的基本操作,包括算法5.1(9个)intCreateSMatrix(TSMatrix&M){//创建稀疏矩阵Minti,m,n;inte;intk;printf("

4、请输入矩阵的行数,列数,非零元素数:");scanf("%d,%d,%d",&M.mu,&M.nu,&M.tu);M.data[0].i=0;//为以下比较顺序做准备for(i=1;i<=M.tu;i++){do{printf("请按行序顺序输入第%d个非零元素所在的行(1~%d),列(1~%d),元素值:",i,M.mu,M.nu);scanf("%d,%d,%d",&m,&n,&e);k=0;if(m<1

5、

6、m>M.mu

7、

8、n<1

9、

10、n>M.nu)//行或列超出范围k=1;if(m

11、

12、m==M.data[i-1].i&&n<=M.data[i-1].j)

13、//行或列的顺序有错k=1;}while(k);M.data[i].i=m;M.data[i].j=n;M.data[i].e=e;}return1;}voidDestroySMatrix(TSMatrix&M){//销毁稀疏矩阵MM.mu=0;M.nu=0;M.tu=0;}voidPrintSMatrix(TSMatrixM){//输出稀疏矩阵Minti;printf("%d行%d列%d个非零元素。",M.mu,M.nu,M.tu);printf("行列元素值");for(i=1;i<=M.tu;i++)printf("%2d%4d%8d",M.data[i].i,M.d

14、ata[i].j,M.data[i].e);}intcomp(intc1,intc2)//另加{//AddSMatrix函数要用到inti;if(c1

15、矩阵M的非零元素首地址Np=&N.data[1];//Np的初值指向矩阵N的非零元素首地址Me=&M.data[M.tu];//Me指向矩阵M的非零元素尾地址Ne=&N.data[N.tu];//Ne指向矩阵N的非零元素尾地址Qh=Qe=Q.data;//Qh、Qe的初值指向矩阵Q的非零元素首地址的前一地址while(Mp<=Me&&Np<=Ne){Qe++;switch(comp(Mp->i,Np->i)){case1:*Qe=*Mp;Mp+

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。