马踏棋盘课程设计实验报告

马踏棋盘课程设计实验报告

ID:11470035

大小:231.56 KB

页数:10页

时间:2018-07-12

马踏棋盘课程设计实验报告_第1页
马踏棋盘课程设计实验报告_第2页
马踏棋盘课程设计实验报告_第3页
马踏棋盘课程设计实验报告_第4页
马踏棋盘课程设计实验报告_第5页
资源描述:

《马踏棋盘课程设计实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《数据结构》课程设计实验报告课程名称:《数据结构》课程设计课程设计题目:马踏棋盘姓名:邱可昉院系:计算机学院专业:计算机科学与技术班级:10052313学号:10051319指导老师:王立波2012年5月18日10目录1.课程设计的目的………………………………………………………32.问题分析………………………………………………………………33.课程设计报告内容……………………………………………………3(1)概要设计………………………………………………………3(2)详细设计………………………………………………………3(3)测试结果………………………………………………………5(4)程

2、序清单………………………………………………………64.个人小结……………………………………………………………10101.课程设计的目的《数据结构》是计算机软件的一门基础课程,计算机科学各领域及有关的应用软件都要用到各种类型的数据结构。学好数据结构对掌握实际编程能力是很有帮助的。为了学好《数据结构》,必须编写一些在特定数据结构上的算法,通过上机调试,才能更好地掌握各种数据结构及其特点,同时提高解决计算机应用实际问题的能力。2.问题分析*问题描述:将马随机放在国际象棋的8X8棋盘Bo阿rd[0..7,0..7]的某个方格中,马按走棋规则进行移动。要求每个方格上只进入一次,走遍棋盘上全

3、部64个方格。编制非递归程序,求出马的行走路线,并按求出的行走路线,将数字1,2,…,64依次填入8X8的方阵输出之。*测试数据:由读者指定,可自行指定一个马的初始位置。*实现提示:每次在多个可走位置中选择一个进行试探,其余未曾试探过的可走位置必须用适当结构妥善管理,以备试探失败时的“回溯”(悔棋)使用。并探讨每次选择位置的“最佳策略”,以减少回溯的次数。3.课程设计报告内容(1)概要设计定义一张棋盘,定义一个栈保存马走的路径的点坐标和来自方向,用函数计算周围可走坐标,并检查正确性,当周围没有可走格子时退栈到最优位置,继续进行,然后将路径输出。(2)详细设计定义结构体,方向数组和

4、Qioan类structPoint{intx;//记录横坐标inty;//记录纵坐标intfrom;//前一个位置的方向};Pointside[8]={0,0,0};//记录可能的方向坐标classQipan{public:Qipan();~Qipan();voidSetside(Point);//设置方向坐标boolGetside(int,Point&);//将指定方向的坐标给特定指针boolHorseVisit(Point);//输入开始点运行棋盘boolPass(Point);//输出路径private:int**gezi;//棋盘格子};10然后对每个函数进行定义Qipa

5、n::Qipan(){//构造函数构建棋盘……}Qipan::~Qipan(){//销毁棋盘……}voidQipan::Setside(Pointcur){//根据输入的当前点设置下一个点的可能方向坐标……}boolQipan::Getside(inti,Point&next){//根据方向把将坐标赋给下一个点……}boolQipan::HorseVisit(Pointbegin){//棋盘运行……}最后是主函数,设计一些用户界面intmain(){bools=true;while(s){intcount=0;intgezi[8][8]={0};Pointbegin;cout<<

6、"请输入马的初始位置x和y:";cout<>begin.x>>begin.y;//输入起始点,并判断正确性while(begin.x>8

7、

8、begin.x<1

9、

10、begin.y>8

11、

12、begin.y<1){cout<<"输入有误,请重新输入x和y:"<>begin.x>>begin.y;}begin.x--;begin.y--;begin.from=0;QipanA;//

13、定义Qipan类的对象As=A.HorseVisit(begin);//A运行函数HorseVisit}return0;}10(3)测试结果对于一次死路后退栈次数进行测试1次用时很长且为运行出来2次3次4次5次6次10又测试了其他几个点得出一次死路退栈5次能尽量少的减少退栈次数其他几个点的数据(4)程序清单#include#include"SqStack.h"10usingnamespacestd;#defineMAXSIZE70#defineN8struct

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

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

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