版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件学院
上机实验报告
课程名称:数据结构__________________________
实验项目:矩阵
实验室:耘慧420姓名:
_______________学号_______________
专业班级:实验时间:2022.11.24
实验成绩评阅教师
一、实验目的及要求
1.掌握稀疏矩阵压缩存储方法(三元组顺序表存储)。
2.完成压缩存储下矩阵计算(矩阵转置)。
二、牺
验证性
三、实验学时
2学时
四、实验环境
C与C++程序设计学习与实验系统
五'实验内容及步骤
实验内容:
1.实现矩阵压缩存储。(静态数组压缩存储或者直接输入矩阵非0元均
可)
2.实现矩阵转置算法。
3.实现矩阵快速转置。
实验步骤:
1.实现矩阵压缩存储。(静态数组压缩存储或者直接输入矩阵非0元均可)
2.实现矩阵转置算法TransposeSMatrix(TSMatrixM,TSMatrix&T)。
3.实现矩阵快速转置FastTransposeSMatrix(TSMatrixM,TSMatrix&T)。
4.主函数中创建矩阵M,将M调用转置算法转置成矩阵N,调用快速转置算法转
~~化成矩阵T。
六、实验数据及结果分析
七、总结
了解了矩阵的一些知识,懂得了矩阵的一些算法。并且在实际上机中,学会了矩阵
的程序的编写方法。
附录源程序清单插入;
#include<stdio.h>
#include"malloc.h"
#include<conio.h>
#include<stdlib.h>
#defineOK1
#defineERROR0
#defineMAXSIZE12500
#defineMAXRC1000
typedefintElemType;
typedefintStatus;
typedefstruct{
inti,j;
ElemTypee;
JTriple;
typedefstruct{
Tripledata[MAXSIZE+1];
intrpos[MAXRC+1];
intmu,tu,nu;
JRLSMatrix;
StatusTransposeSMatrix(RLSMatrixM,RLSMatrix&T){
intq=1,col=0,p=0;
T.mu=M.nu;
T.nu=M.mu;
T.tu=M.tu;
if(T.tu){
q=i;
for(col=1;col<=M.nu;++col)
for(p=1;p<=M.tu;++p)
if(M.data[p].j==col){
T.data[q].i=M.data[p].j;
T.data[q].j=M.data[p].i;
T.data[q].e=M.data[p].e;++q;
})
return0;
StatusFastTransposeSMtrix(RLSMatrixM,RLSMatrix&T){
intcol=0,t=0,p=0,q=0;
ElemTypenum[100],cpot[100];
T.mu=M.nu;
T.nu=M.mu;
T.tu=M.tu;
if(T.tu){
for(col=1;col<=M.nu;++col)num[col]=0;
for(t=1;t<=M.tu;++t)++num[M.data[t].j];
cpot[1>1;
for(col=2;col<=M.nu;++col)cpot[col]=cpot[col-1]+num[col-1];
for(p=1;p<=M.tu;++p){
col=M.data[p].j;q=cpot[col];
T.data[q].i=M.data[p].j;
T.data[q].j=M.data[p].i;
T.data[q].e=M.data[p].e;
++cpot[col];
})
returnOK;
)
StatusCreateSMatrix(RLSMatrix*M){
intk,m,n,i;
ElemTypee;
printf("请输入行列非零个数)
scanf_s("%d",&(*M).mu);
scanf_s("%d",&(*M).nu);
scanf_s("%d",&(*M).tu);
(*M).data[O].i=O;
for(i=1;i<=(*M).tu;i++){
do{
printf("请输入元素行列元素值");
scanf_s("%d",&m);
scanf_s("%d",&n);
scanf_s("%d",&e);
k=0;
if(m<1||m>(*M).mu||n<1||n>(*M).nu)
k=1;
if(m<=(*M).data[i-1].i&&n<=(*M).data[i-1].j)
k=1;
}while(k);
(*M).data[i].i=m;
(*M).data[i].j=n;
(*M).data[i].e=e;
)
returnOK;
voidprintfSMatrix(RLSMatrix&M){
inti;
printf_s("%4d%4d%8d\n",M.mu,M.nu,M.tu);
for(i=1;i<=M.tu;i++)
printf_s("%4d%4d%8d\n",M.data[i].i,M.data[i].j,M.data[i].e);
intmain(void)
RLSMatr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年护理老人考试题及答案
- 2026年护理技能笔试题库及答案解析
- 2026年浙江省安全生产知识竞赛试题及答案
- 岳阳市君山区(2025年)招聘警务辅助人员考试真题及答案
- 动物防疫检疫试题及答案2026年
- 2025年生产经营单位安全试题合集附答案
- 2025年育种案例分析题库及答案
- 2025年艾滋病防治知识测试题练习题及答案
- 2026年公安遴选备考真题及答案
- 2026年锌锰纽扣电池行业分析报告及未来发展趋势报告
- GB/T 27534.6-2025畜禽遗传资源调查技术规范第6部分:马、驴
- 鲁奇气化项目部工艺
- 人教版初中地理七下期中考试模拟试卷(含答案)
- 江苏南京历年中考语文文言文阅读试题25篇(含答案与翻译)(截至2022年)
- 药房规范化管理方案范文(2篇)
- 绿色供应链管理政策与操作规程
- 机械制图王幼龙第二章教案
- 大学生科研训练与论文写作全套教学课件
- 生产计划量化考核指标
- JBT 10205.2-2023 液压缸 第2部分:缸筒技术规范 (正式版)
- 洪水影响评价报告示范文本
评论
0/150
提交评论