文档网

稀疏矩阵的三元组顺序表示方法C++代码

#include<stdio.h>

#include<stdlib.h>

#define OK 1

#define ERROR 0

#define INFEASIBLE -1

#define OVERFLOW -2

#define MAXSIZE 100

typedef int Status;

typedef int ElemType;

typedef struct

{

int i,j;

ElemType e;

}Triple;

typedef struct

{

int mu,nu,tu;

Triple data[MAXSIZE+1];

}TSMatrix;

Status CreatSMatrix(TSMatrix &M)

//创建新的稀疏矩阵

{

printf("输入稀疏方阵的行数,列数以及非零元个数:");

scanf("%d%d%d",&M.mu,&M.nu,&M.tu);

while(M.tu>M.mu * M.nu)

{

printf("输入稀疏方阵的行数,列数以及非零元个数:");

scanf("%d%d%d",&M.mu,&M.nu,&M.tu);

}

int k;

for( k=1;k<=M.tu;k++)

{

printf("输入第%d个非0元素的行数,列数以及值:",k);

scanf("%d%d%d",&M.data[k].i,&M.data[k].j,&M.data[k].e);

if(M.data[k].i>M.mu || M.data[k].j>M.nu )

相关文档
热门文档
你可能喜欢
  • 数据结构稀疏矩阵
  • 矩阵加法
  • 矩阵转置
  • 二叉树遍历算法
  • 稀疏矩阵的压缩存储
  • 矩阵乘法
  • 逻辑顺序
评论