第一范文网 - 专业文章范例文档资料分享平台

数据结构稀疏矩阵运算器

来源:用户分享 时间:2025/8/10 12:50:57 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

实习4 4.1稀疏矩阵运算器

实习报告

题目:设计一个能实现稀疏矩阵基本运算的运算器。

班级:软件工程11-1 姓名:张艳艳 学号:1101051636 完成日期2012-11-23

一、 需求分析

1.本演示程序中,以“带行逻辑的链接信息”的三元组顺序表表示稀疏矩阵,实现两个矩阵相加、相减和相乘的运算。稀疏矩阵的输入形式采用三元组表示,而运算结果的表示以阵列形式列出。首先应输入矩阵的行数和列数,并判断给出的两个矩阵的行和列对于所要求的运算是否相匹配。(矩阵的行数和列数均不超过20)

2.演示程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息”之后,由用户在键盘上输入演示程序中规定的运算命令;相应的输入数据(滤去输入数据中的非法字符)和运算结果显示在其后。 3.程序执行的命令包括:

(1)构造链表;(2)输入数据;(3)数据处理;(4)结束 4.测试数据

(1)10 0 0 0 0 0 10 0 0 0 0 9 + 0 0 -1 = 0 0 8

-1 0 0 1 0 -3 0 0 -3

(2)10 0 0 0 10 0

0 9 - 0 -1 = 0 10 -1 0 1 -3 -2 3 3 0 0

(3)4 -3 0 0 1 4 2 0 0 -6 0 0 0 8 0 * 0 1 0 = 8 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 70

0 0 0

二、 概要设计

包含的头文件 #include #include #include 定义结构体以实现矩阵的生成 typedef struct { int i,j;

//非零元的行下标和列下标

ElemType e; //非零元的值

}Triple;

typedef struct

1 0

0 0

0

{

Triple data[MAXSIZE+1];

int rpos[MAXRC+1]; //各行第一个非零元在三元组的位置表 int hs,ls,fls;

}TSMatrix,*Matrix;

void Creat(TSMatrix &M) //矩阵的生成算法

void Add(TSMatrix A,TSMatrix B,TSMatrix &C,int n) //矩阵的相加与相减运算

以n=1或-1来调节加或减

int Multiplication(TSMatrix A,TSMatrix B,TSMatrix &Q) //实现矩阵的相乘运算 void Turn(TSMatrix *a,TSMatrix *b) //实现矩阵的转置

三、 详细设计

#include #include #include

#define MAXSIZE 40 //假设非零元素个数的最大值为40 #define MAXRC 20

typedef int ElemType;

//假设矩阵的最大行数为20

typedef struct {

int i,j;

//非零元的行下标和列下标

ElemType e; //非零元的值

}Triple;

typedef struct {

Triple data[MAXSIZE+1];

int rpos[MAXRC+1]; //各行第一个非零元在三元组的位置表 int hs,ls,fls;

}TSMatrix,*Matrix;

void Creat(TSMatrix &M) //矩阵的生成算法 {

int i,k;

for(i=1;i<=MAXRC+1;i++)

M.rpos[i]=0;

搜索更多关于: 数据结构稀疏矩阵运算器 的文档
数据结构稀疏矩阵运算器.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c36snu9zjfj75cln2zb7w_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top