admin 管理员组

文章数量: 1087139


2024年4月21日发(作者:c语言编写小游戏贪吃蛇)

typedef int ElemType;

// 稀疏矩阵的三元组顺序表存储表示

define MAXSIZE 100 // 非零元个数的最大值

typedef struct

{

int i;j; // 行下标;列下标

ElemType e; // 非零元素值

}Triple;

typedef struct

{

Triple dataMAXSIZE+1; // 非零元三元组表;data0未用

int mu;nu;tu; // 矩阵的行数、列数和非零元个数

}TSMatrix;

// 创建稀疏矩阵M

int CreateSMatrixTSMatrix M

{

int i;m;n;

ElemType e;

int k;

printf"请输入矩阵的行数;列数;非零元素个数:逗号n";

scanf"%d;%d;%d";&;&;&;

0.i=0; // 为以下比较顺序做准备

fori = 1; i <= ; i++

{

do

{

printf"请按行序顺序输入第%d个非零元素所在的行1~%d;"

"列1~%d;元素值:逗号n"; i;;;

scanf"%d;%d;%d";&m;&n;&e;

k=0;

// 行或列超出范围

ifm < 1 || m > || n < 1 || n >

k=1;

ifm < -1.i || m == -1.i

&& n <= -1.j // 行或列的顺序有错

k=1;

}whilek;

.i = m; //行下标

.j = n; //列下标

.e = e; //该下标所对应的值

}

return 1;

}

// 销毁稀疏矩阵M;所有元素置空

void DestroySMatrixTSMatrix M

{

=0;

=0;

=0;

}

// 输出稀疏矩阵M

void PrintSMatrixTSMatrix M

{

int i;

printf"n%d行%d列%d个非零元素..n";;;;

printf"%4s%4s%8sn"; "行"; "列"; "元素值";

fori=1;i<=;i++

printf"%4d%4d%8dn";.i;.j;.e;

}

// 由稀疏矩阵M复制得到T

int CopySMatrixTSMatrix M;TSMatrix T

{

T=M;

return 1;

}

// AddSMatrix函数要用到

int compint c1;int c2

{

int i;

ifc1

i=1;

else ifc1==c2

i=0;

else

i=-1;

return i;

}


本文标签: 矩阵 顺序 列数 下标 三元组