版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构课程设计说明书
学生姓名:学号:班级:学院:软件学院专业:软件工程
题目:特殊矩阵的压缩存储算法的实现起迄日期:指导教师
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 独院基地出售合同范例
- 二零二四年度幼儿园教具供应承包合同
- 2024标准工程设计合同格式
- 农田水沟包工合同范例
- 精密配件采购合同模板
- 2024版权许可使用合同范本
- 2024户外广告牌安装合同样本
- 2024年度家具定制合同:办公桌椅设计与制作
- 2024版装修工程垃圾处理合同2篇
- 2024成套电柜合同
- 生殖实验室简介课件
- 装修项目的工程量清单
- 天冬中药材种植可行性研究报告
- 新进交警培训课件
- 电力抢修培训课件
- 2024年中国船级社质量认证公司招聘笔试参考题库含答案解析
- 《法律效力层级》课件
- GB 42295-2022电动自行车电气安全要求
- 物业管理服务代管协议
- 焊接材料的质量控制和追溯规范
- 居民自建桩安装告知书回执
评论
0/150
提交评论