文档介绍:一、实验内容
对一个稀疏矩阵,按提示输入其行号、列号及每一个元素值,程序将建立稀疏矩阵的三元组存储结构,并将三元组存储结构的稀疏矩阵转置并显示转置前后稀疏矩阵的三元组结构。
#include<>
typedef stru一、实验内容
对一个稀疏矩阵,按提示输入其行号、列号及每一个元素值,程序将建立稀疏矩阵的三元组存储结构,并将三元组存储结构的稀疏矩阵转置并显示转置前后稀疏矩阵的三元组结构。
#include<>
typedef struct{
int i,j;
int e;
}triple ;
typedef struct{
triple data[20];
int mu,nu,tu;
}TS;
TS transpose(TS a){
/*稀疏矩阵(三元组存储结构)转置算法*/
int p,q,col;
TS b;
=; =; =;
if(!=0)
{
q=1;
for(col=1;col<=;col++)
for(p=1;p<=;p++)
if([p].j==col)
{ [q].j=[p].i;
[q].i=[p].j;
[q].e=[p].e;
q++;
}}
return b;}
void printmatrix(TS c)
{ /*稀疏矩阵(三元组存储结构)显示*/
int n,i;
n=;
for(i=1;i<=n;i++)
printf("[%d] 行号 =%d 列号=%d 元素值= %d\n",i,[i].i,[i].j,[i].e);
}main()
{ TS a;
TS b;
int i,j,r,c,t,n;
n=1;
printf("\n\n输入矩阵行号数:");
scanf("%d",&r);
printf("\n\n输入矩阵列号数:");
scanf("%d",&c);
=r;=c;
printf("\n\n");
for(i=0;i<r;i++)