数据结构-二维数组基本操作的编程实现.doc

数据结构-二维数组基本操作的编程实现.doc

ID:61510426

大小:65.50 KB

页数:5页

时间:2021-02-08

数据结构-二维数组基本操作的编程实现.doc_第1页
数据结构-二维数组基本操作的编程实现.doc_第2页
数据结构-二维数组基本操作的编程实现.doc_第3页
数据结构-二维数组基本操作的编程实现.doc_第4页
数据结构-二维数组基本操作的编程实现.doc_第5页
资源描述:

《数据结构-二维数组基本操作的编程实现.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、数据结构(2013)实验报告04班级号:T学生姓名:实验方式:上机操作成绩:教师批阅处:【实验名称】二维数组基本操作的编程实现【实验目的】掌握二维数组的建立、读取数据、压缩存储等基本操作的编程实现,存储结构可以在顺序结构或链接结构中任选,也可以全部实现。也鼓励学生利用基本操作进行一些应用的程序设计。【实验分析】本次实验由于时间比较紧急,实验内容有比较多,所以老师就给了一部分源代码,然后实验过程中根据所给的代码和功能要求,修改和完善程序功能。这次实验主要是以二维数组为主,练习和掌握二维数组的相关操作。借

2、助于推箱子游戏,将所学的理论知识融入其中,让学习变的不是枯燥无味的,体会学习的乐趣。【程序运行主界面】由于老师给了大部分代码,为了练习和提高自己的阅读程序的能力,将程序函数的整体框架以框图形式表示出来。程序函数框架图【程序函数框架】入口record()review()test_flag()begin()display()移动选关输出主页面playing()choose_gate()Treplay()Cbegin()record()choose()tack_back()【实验过程及调试】(1)选择第一关

3、3.提示2.结束1.开始前移动小人,推动箱子,主要靠4个方向键来实现。根据对应方向键的ASCII码值,来调用相应函数。对应关系如下表所示:case72:up();count++;break;case80:down();count++;break;case75:left();count++;break;case77:right();count++;break;(1)选择其他关数同理与第一关一样选择其他关数的基本操作与第一关类似,不再详细描述。主要列出底层的移动过程。关键代码:向左方向部分代码:if(ma

4、p[positionh][positionl-1]==0){map[positionh][positionl-1]=4;if(flag==1){map[positionh][positionl]=2;flag=0;}elsemap[positionh][positionl]=0;positionl--;}elseif(map[positionh][positionl-1]==2)//人要到目标位置上{map[positionh][positionl-1]=4;if(flag==1)map[positi

5、onh][positionl]=2;//恢复目标位置else{map[positionh][positionl]=0;//恢复原来的状态flag=1;//标志位,记录人在目标位置上}positionl--;}向上方向部分代码:if(map[positionh-1][positionl]==0){map[positionh-1][positionl]=4;if(flag==1){map[positionh][positionl]=2;flag=0;}elsemap[positionh][position

6、l]=0;positionh--;}elseif(map[positionh-1][positionl]==2)//人要到目标位置上{map[positionh-1][positionl]=4;if(flag==1)map[positionh][positionl]=2;//恢复目标位置else{map[positionh][positionl]=0;//恢复原来的状态flag=1;//标志位,记录人在目标位置上}positionh--;}(2)反悔功能功能介绍:主要用到栈和队列的知识,用栈和队列来存

7、放所走过的信息步骤。根据先进后出和先进先出的原则,来实现悔棋功能。相关代码:#include#includeclassinformation{public:information(intr_map[roomsize+2][roomsize+2],inth_position,intl_position);~information();intmap_r[roomsize+2][roomsize+2];int_positionh;int_positionl;};stack

8、ormation>position;//栈存放地图和人的位置信息queuedirection;//队列存放每步的操作voidbox::tack_back(){inti,j;position.pop();for(i=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。