用三元组表存储表示求稀疏矩阵M转置函数T_第1页
用三元组表存储表示求稀疏矩阵M转置函数T_第2页
用三元组表存储表示求稀疏矩阵M转置函数T_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、用三元组表存储表示,求稀疏矩阵M转置函数T实验目的采用三元组表存储表示,求稀疏矩阵”转置函数T实验内容编程序并上机调试运行。采用三元组表存储表示,求稀疏矩阵”转置函数T编写程序采用三元组表存储表示,求稀疏矩阵M转置函数T#includettdefine MAXSIZE 100typedef struct int i, j; int e; Triple;typedef struct Triple dataLMAXSIZE+1; int mu,nu,tu;TSMatrix;创建稀疏矩阵MCreateSMatrix(TSMatrix *M) int i, m, n, e, k;printf (、输入

2、矩阵 M 的行数、列数、非零元的个数(中间用逗号隔开): scanf( (*M).data0.i=0;printf ( for(i=l;i<=(*M). tu;i+)do printf ('输入第刎个非零元素所在的行(1飞d)列(1%d)值以及该数值:scanf(k=0; if(m<l Im>(*M). mu n<lI n>(*M). nu)k=l;if (m输出稀疏矩阵M int i; printf(void PrintSMatrix(TSMatrix M) for(i=l;i<=M. tu;i+) printf(printf( printf()求

3、稀疏矩阵M的转置矩阵Tvoid TransposeSMatrix(TSMatrix M, TSMatrix *T) int p,q,col;(*T). mu=M. nu; (*T). nu=M. mu; (*T). tu=M. tu; if(*T). tu) q=l; for(col=l;col二nu;+col)for (p=l ;p<=M. tu;+p) if (M. data Ip. j=col)(*T). dataq. i=M. dataEp.j;(*T). dataq. j=M. datap.i;(*T). dataEq. e=M. dataEpL e; +q; return 1

4、; 打印矩阵函数,以通常形式输出矩阵void print (TSMatrix A) intk=l,a,b; int MMAXSIZE MAXSIZE ; printf (、非零元素所对应的位置:nprintf ( for (a=0;aprintf( printf(主函数 int mainO TSMatrix M, T; printf (、创建矩阵 M: CreateSMatrix(&M) ; printf (矩阵 M 的三元组表为:n PrintSMatrix(M) ; print (M) ; TransposeSMatrix (M, &T);printf (稀疏矩阵M的转换矩阵T的三元组表为:n PrintSMatrix (T) ; print (T);printf( getchar();return 0;运行程序:程序解析:1 .首先是将程序的开头写好,定义非零元个数最多为100.定义非零元的行下标,列下标,和非零元素为int型。由mu,nu,tu分别代表矩阵的 行数,列数和非零元个数。2 .创建稀疏矩阵创建一个稀疏矩阵,用scanf进行用户输入行数,列数及非零元个数。当i小于等于 非零元个数时,进行以下的for循环,执行内循环的循环语句。当k不为0时,重复执行 输入非零元素的行列

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论