![数据结构课程设计说明书 -特殊矩阵的压缩存储算法的实现_第1页](http://file4.renrendoc.com/view10/M01/04/05/wKhkGWWyiCeABNDQAAC9Uz-wWkI750.jpg)
![数据结构课程设计说明书 -特殊矩阵的压缩存储算法的实现_第2页](http://file4.renrendoc.com/view10/M01/04/05/wKhkGWWyiCeABNDQAAC9Uz-wWkI7502.jpg)
![数据结构课程设计说明书 -特殊矩阵的压缩存储算法的实现_第3页](http://file4.renrendoc.com/view10/M01/04/05/wKhkGWWyiCeABNDQAAC9Uz-wWkI7503.jpg)
![数据结构课程设计说明书 -特殊矩阵的压缩存储算法的实现_第4页](http://file4.renrendoc.com/view10/M01/04/05/wKhkGWWyiCeABNDQAAC9Uz-wWkI7504.jpg)
![数据结构课程设计说明书 -特殊矩阵的压缩存储算法的实现_第5页](http://file4.renrendoc.com/view10/M01/04/05/wKhkGWWyiCeABNDQAAC9Uz-wWkI7505.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构课程设计说明书
学生姓名:学号:班级:学院:软件学院专业:软件工程
题目:特殊矩阵的压缩存储算法的实现起迄日期:指导教师
a)需求分析:<1>先定义各个子函数的内容(主要是三个特殊矩阵的函数),该子函数对应的功能包括:一输入矩阵的维数二分别输入特殊矩阵的元素三利用输入的元素初始化特殊矩阵,即用数组来存储特殊矩阵的元素四显示特殊矩阵中的元素及其地址,还有压缩后的特殊矩阵的元素及其地址五输入所要查找的元素在特殊矩阵中的地址六输出该元素的值.<2>利用主函数是想各个子函数的功能b)概要设计c)详细设计#include<stdio.h>#defineZUIDA1000//矩阵的压缩存储与查找intTA[ZUIDA];intn;intA[ZUIDA][ZUIDA];voidduichen(){inti,j,k;int*p;intm,w;printf("请输入对称矩阵的阶数:");scanf("%d",&n);printf("输入对称矩阵:");for(i=1;i<=n;i++)for(j=i;j<=n;j++)scanf("%d",&A[i][j]); for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { if(i>j)A[i][j]=A[j][i]; elseA[i][j]=A[i][j]; } } printf("输出对称矩阵:\n"); for(i=1;i<=n;i++) { for(j=1;j<=n;j++) printf("%d(%d,%d)",A[i][j],i,j),p=&(A[i][j]); printf("\n"); } printf("(括号中非别表示行和列)\n"); k=0; for(i=1;i<=n;i++) for(j=1;j<=n;j++) TA[k++]=A[i][j]; printf("压缩后的对称矩阵:\n"); for(k=0;k<=n*n-1;k++) printf("%-4d(地址为%d)",TA[k],k); printf("\n"); printf("请输入地址(行和列):\n");while(1) { scanf("%d%d",&i,&j);if(i<0||i>n||j<0||j>n) { printf("输入数据有误,请重新输入:\n"); continue; } elsebreak; } for(m=1;m<=i;m++) { for(w=1;w<=j;w++) p=&(A[i][j]); printf("\n"); }printf("根据您提供的地址,您所需要的元素为%d\n",*p);}voidshangsanjiao(){inti,j,k;int*p;intm,w;printf("请输入上三角矩阵的阶数:");scanf("%d",&n);printf("输入上三角矩阵:");for(i=1;i<=n;i++){ for(j=1;j<=n;j++) { if(i>j)A[i][j]=0; elsescanf("%d",&A[i][j]); }}printf("输出上三角矩阵:\n");for(i=1;i<=n;i++){ for(j=1;j<=n;j++) printf("%d(%d,%d)",A[i][j],i,j),p=&(A[i][j]); printf("\n");} printf("(括号中非别表示行和列)\n");k=0;for(i=1;i<=n;i++) for(j=1;j<=n;j++) TA[k++]=A[i][j]; printf("压缩后的上三角矩阵:\n"); for(k=0;k<=n*n-1;k++) printf("%-4d(地址为%d)",TA[k],k); printf("\n"); printf("请输入地址(行和列):\n");while(1) { scanf("%d%d",&i,&j);if(i<0||i>n||j<0||j>n) { printf("输入数据有误,请重新输入:\n"); continue; } elsebreak; } for(m=1;m<=i;m++) { for(w=1;w<=j;w++) p=&(A[i][j]); printf("\n"); }printf("根据您提供的地址,您所需要的元素为%d\n",*p);}voidxiasanjiao(){inti,j,k;int*p;intm,w;printf("请输入下三角矩阵的阶数:");scanf("%d",&n);printf("输入下三角矩阵:");for(i=1;i<=n;i++){ for(j=1;j<=n;j++) { if(i>=j)scanf("%d",&A[i][j]); elseA[i][j]=0; }}printf("输出下三角矩阵:\n");for(i=1;i<=n;i++){ for(j=1;j<=n;j++) printf("%d(%d,%d)",A[i][j],i,j),p=&(A[i][j]); printf("\n");} printf("(括号中非别表示行和列)\n");k=0;for(i=1;i<=n;i++) for(j=1;j<=n;j++) TA[k++]=A[i][j]; printf("压缩后的下三角矩阵:\n"); for(k=0;k<=n*n-1;k++) printf("%-4d(地址为%d)",TA[k],k); printf("\n"); printf("请输入地址(行和列):\n");while(1) { scanf("%d%d",&i,&j);if(i<0||i>n||j<0||j>n) { printf("输入数据有误,请重新输入:\n"); continue; } elsebreak; } for(m=1;m<=i;m++) { for(w=1;w<=j;w++) p=&(A[i][j]); printf("\n"); }printf("根据您提供的地址,您所需要的元素为%d\n",*p);}//主菜单intmenu_list(){ intc; printf("\n\n**************************特殊矩阵的压缩存储**************************\n\n"); printf("1.对称矩阵的压缩存储\n"); printf("2.上三角矩阵的压缩存储\n"); printf("3.下三角矩阵的压缩存储\n"); printf("4.退出系统\n"); printf("请输入(1-4)[]\b\b"); while(1) { scanf("%d",&c); if(c<1||c>4) printf("输入错误,请重新输入:");else break; } returnc;}//主函数voidmain(){ while(1) { switch(menu_list()) { case1: duichen(); break; case2: shangsanjiao(); break; case3: xiasanjiao();break; case4: printf("程序结束,谢谢您的使用!\n\n"); exit(0); } }}d)调试分析(主菜单界面)e)课设总结:我的课程设计中的代码完全是自己写
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 部门季度工作总结报告书
- 出借咨询服务协议
- 联合研究开发协议
- 办公项目总结与未来展望报告
- 地坪浇筑劳务分包合同
- 独院买卖合同协议书
- 砖砌体工程施工合同协议书
- 高效办公流程优化解决方案
- 媒体资源共享合作框架协议
- 制作细胞的结构模型(第1课时)教学设计-2024-2025学年苏科版生物七年级上册
- 路基换填级配碎石施工方案
- EIM Book 1 Unit 7 Learning languages单元检测试题
- 四川省政府采购评审专家考试题库
- GB/T 34875-2017离心泵和转子泵用轴封系统
- GB/T 25085.3-2020道路车辆汽车电缆第3部分:交流30 V或直流60 V单芯铜导体电缆的尺寸和要求
- GA/T 1081-2020安全防范系统维护保养规范
- 2023一年级下册语文教学工作计划(2篇)
- 2022年云上贵州大数据(集团)有限公司招聘笔试试题及答案解析
- (虎符铜砭刮痧)基本理论及临床应用课件
- 文件袋、档案袋密封条模板
- 依图科技业务概述
评论
0/150
提交评论