数据结构实验稀疏矩阵计算器Word格式文档下载.docx

上传人:b****6 文档编号:21154386 上传时间:2023-01-28 格式:DOCX 页数:9 大小:72.54KB
下载 相关 举报
数据结构实验稀疏矩阵计算器Word格式文档下载.docx_第1页
第1页 / 共9页
数据结构实验稀疏矩阵计算器Word格式文档下载.docx_第2页
第2页 / 共9页
数据结构实验稀疏矩阵计算器Word格式文档下载.docx_第3页
第3页 / 共9页
数据结构实验稀疏矩阵计算器Word格式文档下载.docx_第4页
第4页 / 共9页
数据结构实验稀疏矩阵计算器Word格式文档下载.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

数据结构实验稀疏矩阵计算器Word格式文档下载.docx

《数据结构实验稀疏矩阵计算器Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据结构实验稀疏矩阵计算器Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。

数据结构实验稀疏矩阵计算器Word格式文档下载.docx

利用“稀疏“特点进行存储和计算可以大大节省存储空间,提高计算效率。

实现一个能进行稀疏矩阵基本运算的运算器。

【基本要求】

以“带行逻辑链接信息“的三元组顺序表示稀疏矩阵,实现两个矩阵相加、相减和相乘运算。

稀疏矩阵的输入采用三元组表示,而运算结果的矩阵则以通常阵列形式列出。

【项目约束】

1.首先应输入矩阵的行数和列数,并判断给出的两个矩阵

行、列数对于所要求作的运算是否相匹配。

可设矩阵的行数和列数均不超过20。

2.程序可以对三元组的输入顺序加以限制,例如,按行优

先。

注意研究教科书5.3.2节中的算法,以便提高计算效率。

3.在用三元组稀疏矩阵时,相加或相减所得结果矩阵应该另生成,乘积矩阵也可用二维数组存放。

三:

详细设计

1:

数据结构的定义

元素类型、变量、指针类型

(1)项目数据表:

3.2子函数

函数名

入口参数

出口参数

功能介绍

main()

定义二维数组及用到的各种变量

3:

函数调用关系

无函数调用关系,只有一个主函数

四:

调试分析

三元组顺序的输入规则。

以000作为输入的结束信号。

完成实现稀疏矩阵的相加、相减、相乘的运算。

五:

用户使用说明

(1)首先运行文件系统

1.首先定义要运算的第一个稀疏矩阵的行列数

定义完成之后输入另一个要运算的稀疏矩阵的行列。

(2)输入信息:

如下图所示输入两个矩阵的元素

所有输入信息以及运算方法输入完成之后。

回车直接算出结果

(3)输出信息:

六、源代码

/**

***项目名称:

稀疏矩阵的运算

***设计者:

杨德龙,柴益新,孙少辉

***时间:

2015.11.02

***实现目标:

实现矩阵的加法,减法,乘法;

***/

#include<

stdio.h>

windows.h>

intmain()

{

//定义二维数组及用到的各种变量

inta[20][20];

intb[20][20];

intc[20][20];

intm,n,k,l,i,j,p;

intsum;

into;

chart;

//输入操作

printf("

请输入第一个矩阵的行列\n"

);

scanf("

%d%d"

&

n,&

m);

//初始化a数组

for(i=0;

i<

n;

i++)

for(j=0;

j<

m;

j++)

a[i][j]=0;

请输入第二个矩阵的行列\n"

k,&

l);

//初始化b数组

b[i][j]=0;

请用三元组的方式输入第一个矩阵(例111)(输入000时结束)\n"

while(true)

{

scanf("

%d%d%d"

i,&

j,&

p);

if(i==0&

&

j==0&

p==0)

break;

else

a[i-1][j-1]=p;

}

请用三元组的方式输入第二个矩阵(例111)(输入000时结束)\n"

b[i-1][j-1]=p;

请输入执行操作(+或-或*)\n"

{

getchar();

%c"

t);

if(t=='

+'

)//加法运算

{

if(n!

=k||m!

=l)

{

printf("

不能进行该运算!

"

exit(0);

//结束

}

else

答案为:

\n"

for(i=0;

{

for(j=0;

{

printf("

%d"

a[i][j]+b[i][j]);

}

printf("

}

}

elseif(t=='

-'

)//减法运算

a[i][j]-b[i][j]);

*'

)//乘法运算

if(m!

=k)

for(o=0;

o<

o++)

for(i=0;

l;

sum=0;

for(j=0;

{

sum=sum+a[o][j]*b[j][i];

}

sum);

printf("

输入符号错误,重新输入:

return0;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 中国风

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1