数据结构与算法课程设计

数据结构与算法课程设计

ID:11192992

大小:114.50 KB

页数:15页

时间:2018-07-10

数据结构与算法课程设计_第1页
数据结构与算法课程设计_第2页
数据结构与算法课程设计_第3页
数据结构与算法课程设计_第4页
数据结构与算法课程设计_第5页
资源描述:

《数据结构与算法课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、目录一、问题描述21.1题目内容:21.2基本要求:21.3提高要求:2二、需求分析21.1软件的基本功能:21.2输入输出形式:21.3测试数据要求:2三、概要设计21.1所需的ADT及作用:21.2主程序流程:41.3模块调用关系:5四、详细设计51.1数据类型:51.2每个操作的代码:51.2.1get_attact()51.2.2get_horse(chessc)61.2.3to_attact(inta,intb)81.2.4get_mincover(chessc)91.3主程序的代码:101.

2、4函数调用关系图:11五、编码与调试分析111.1遇到的问题及解决办法:11六、使用说明12七、测试结果12八、课程设计心得体会14参考文献:1515一、问题描述1.1题目内容:在8×8的国际象棋棋盘上,如果在放置若干个马以后,使得整个棋盘的任意空位置上所放置的棋子均能被这些马吃掉,则称这组放置为棋盘的一个满覆盖。若去掉满覆盖中的任意一个棋子都会使这组放置不再是满覆盖,则称这一满覆盖为极小满覆盖。1.2基本要求:求解一个极小满覆盖,按照矩阵形式给出,用特殊符号表示马。1.3提高要求:(1)能画出棋盘的图

3、形形式,或在其上动态第演示试探过程;(2)程序能方便地移植到其他规格的棋盘上。二、需求分析1.1软件的基本功能:求任意棋盘规模的马的极小满覆盖的一个解。1.2输入输出形式:有键盘输入棋盘的行数M和列数N。1.3测试数据要求:8*8的矩阵。三、概要设计1.1所需的ADT及作用:ADTchessData15马为字符型,每个位置被吃掉的次数为整形Operationget_attact()前置条件:位置在棋盘范围内输入:无功能:计算每个位置被马吃掉的次数输出:无后置条件:无to_attact(inti,intj

4、)前置条件:位置在棋盘范围内并且该位置尚不能被马吃掉输入:无功能:再次计算每个位置被马吃掉的次数输出:无后置条件:如果放马成功,此马可能吃掉的位置赋值为-1get_horse(chessc)前置条件:位置在棋盘范围内输入:无功能:计算极小满覆盖输出:马的位置,此时的覆盖情况和每个位置被马吃掉的次数后置条件:无get_mincover(chessc)前置条件:位置在棋盘范围内输入:无功能:判断是否达到极小满覆盖,若达到便输出输出:极小满覆盖的一个解后置条件:无endADT15开始输入棋盘的行数M和列数N调

5、用get_horse(chessc)函数,计算出被马吃掉次数最多的位置,在此位置放马If(inti

6、ct()函数调用get_mincover(chessc)函数调用get_horse(chessc)函数调用to_attact(inti,intj)函数1.3模块调用关系:四、详细设计1.1数据类型:马的位置为字符型二维数组:charcover[100][100]马被吃掉的次数为整型二维数组:intattact[100][100]1.2每个操作的代码:1.2.1get_attact()voidchess::get_attact()//计算每个位置被马吃掉的次数{for(inti=0;i

7、r(intj=0;j=0&&j-2>=0){attact[i-1][j-2]++;}if(i-1>=0&&j+2=0&&j-1>=0){attact[i-2][j-1]++;}if(i-2>=0&&j+1=0){attact[i+1][j-2]++;}if(i+1

8、M&&j-1>=0){attact[i+2][j-1]++;}if(i+2

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

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

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