稀疏矩阵的运算,包括加,减,乘,觉得原创,欢迎下载
2023-03-08 12:39:28 6KB 数据结构稀疏矩阵运算器
1
三元组法实现稀疏矩阵的加,减,乘,求逆运算
2022-11-30 10:04:54 10KB 稀疏矩阵
1
数据结构课程设计 稀疏矩阵运算器,可执行稀疏矩阵的加减乘运算,带加减乘运算的运行截图
2022-02-21 09:44:34 179KB 数据结构 课程设计 稀疏矩阵运算器
1
以“带行逻辑连接信息”的三元组顺序表表示稀疏矩阵,实现两矩阵相加,相减,相乘的运算。稀疏矩阵的输入用三元组表示,而运算结果以列阵形式列出。
2022-02-21 09:36:44 6KB 稀疏矩阵运算器 数据结构实验
1
c++利用稀疏矩阵运算器三元组求解,算法比较简单,
2021-11-28 18:39:15 15KB 稀疏矩阵运算器
1
输入要求:稀疏矩阵的行、列和非零元素个数 以及每个非零元素在矩阵的位置 以三元组格式存储稀疏矩阵 输出要求:根据选项输出 稀疏矩阵的转置、加法、减法、乘法
2021-11-25 00:43:31 218KB 稀疏矩阵
1
#include #define maxsize 100 typedef struct { int i,j; //该非零元的行和列 int v; //该非零元的值 }triple; typedef struct { triple data[maxsize]; //非零元三元组表,data[0]未用 int rpos[maxsize]; int m,n,t; //矩阵的行数,列数和非零元个数 }tripletable; void convert() //矩阵的转置 { int k; tripletable A,B; printf("输入稀疏矩阵A的行数,列数和非零元个数:"); scanf("%d %d %d",&A.m,&A.n,&A.t); for(k=1;k<=A.t;k++) { printf("输入第%d个非0元素的行数,列数和值:",k); scanf("%d %d %d",&A.data[k].i,&A.data[k].j,&A.data[k].v); } B.m=A.m;B.n=A.n;B.t=A.t; if(B.t) { int p; int q=1,col; for(col=1;col<=A.n;++col) { for(p=1;p<=A.t;++p) { if(A.data[p].j==col) { B.data[q].i=A.data[p].j; B.data[q].j=A.data[p].i; B.data[q].v=A.data[p].v; ++q; } } } int shuru[100][100]={0}; for(k=1;k<=B.t;k++) { shuru[B.data[k].j][B.data[k].i]=B.data[k].v; } printf("输入为:\n"); for(k=1;k<=B.m;k++) { int l; for(l=1;l<=B.n;l++) printf("%d ",shuru[k][l]); printf("\n"); } int result[100][100]={0}; for(k=1;k<=B.t;k++) { result[B.data[k].i][B.data[k].j]=B.data[k].v; } printf("结果为:\n"); for(k=1;k<=B.n;k++) { int l; for(l=1;l<=B.m;l++) printf("%d ",result[k][l]); printf("\n"); } } } void add() //矩阵的加法 { int k; tripletable A,B; printf("输入稀疏矩阵A的行数,列数和非零元个数:"); scanf("%d %d %d",&A.m,&A.n,&A.t); for(k=1;k<=A.t;k++) { printf("输入第%d个非0元素的行数,列数和值:",k); scanf("%d %d %d",&A.data[k].i,&A.data[k].j,&A.data[k].v); } printf("输入稀疏矩阵B的行数,列数和非零元个数:"); scanf("%d %d %d",&B.m,&B.n,&B.t); for(k=1;k<=B.t;k++) { printf("输入第%d个非0元素的行数,列数和值:",k); scanf("%d %d %d",&B.data[k].i,&B.data[k].j,&B.data[k].v); } if(A.m!=B.m||A.n!=B.n) { printf("输入错误:A与B的行数或列数不相同,请重新输入\n"); return; } int a[100][100]={0}; for(k=1;k<=A.t;k++) { a[A.data[k].i][A.data[k].j]=A.data[k].v; } printf("A输入为:\n"); for(k=1;k<=A.m;k++) { int l; for(l=1;l<=A.n;l++) printf("%d ",a[k][l]); printf("\n")
2021-11-25 00:30:01 730KB 数据结构
1
稀疏矩阵运算器 有输入界面(图形或文字界面都可),能区分加法和转置;能处理任意输入的典型数据和进行出错数据处理(例如加法,当第一个矩阵和第二个矩阵的行数和列数不相等时,不能运算);必须采用三元组作存储结构,不能采用数组等形式;输出要求用矩阵的形式输出(即习题集136页的形式)
2021-11-24 20:07:27 84KB 稀疏矩阵 转置 实验报告
1
C语言实现的稀疏矩阵运算器,通过用数据结构来实现(一部分),主要是矩阵的实现
2021-11-17 21:51:53 4KB 稀疏矩阵运算器
1
清华大学版《数据结构》第三次试验代码,原创
2021-11-17 21:46:50 5KB C语言 稀疏矩阵运算
1