电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

C++课程设计八皇后问题

C++课程设计八皇后问题_第1页
1/13
C++课程设计八皇后问题_第2页
2/13
C++课程设计八皇后问题_第3页
3/13
南京理工大学紫金学院 VC++课程设计报告 2011 年 12 月 课 程 : VC++课 程 设 计 系 别 : 计 算 机 系 班 级 : 学 号 : 姓 名 : 选 题 名 称 : 八 皇 后 问 题 选 题 难 易 别 : B 级 起 止 时 间 : 2011.11.21~2011.12.22 指 导 教 师 : * * 1. 程序功能介绍 答:这个程序是用于解决八皇后问题的。八皇后问题等于要求八个皇后中的任意两个不能被放在同一行或同一列或同一斜线上。做这个课题,重要的就是先搞清楚哪个位置是合法的放皇后的位置,哪个不能,要先判断,后放置。我的程序进入时会让使用者选择程序的功能,选【1】将会通过使用者自己手动输入第一个皇后的坐标后获得答案;选【2】将会让程序自动运算出固定每一个皇后后所有的排列结果。 2. 课程设计要求 答:(1)增加函数,完成每输入一组解,暂停屏幕,显示“按任意键继续!”。 (2)完善程序,编程计算八皇后问题共有集中排列方案。 (3)增加输入,显示在第一个皇后确定后,共有几组排列。 (4)将每组解的期盼横向排列输出在屏幕上,将五个棋盘并排排列,即一次8 行同时输出5 个棋盘,同样完成一组解后屏幕暂停,按任意键继续。 (5)求出在什么位置固定一个皇后后,解的数量最多,在什么位置固定皇后后,解的数量最少,最多的解是多少,最少的解是多少,并将最多,最少解的皇后位置及所有的解求出,同样5 个一组显示。 3. 对课程题目的分析与注释 答:众所周知的八皇后问题是一个非常古老的问题,问题要求在一个8* 8的棋盘上放上8个皇后,使得每一个皇后既 攻 击 不到 另 外 七 个皇后,也 不被另 外 七 个皇后所攻 击 。按照 国 际象 棋的规 则 ,一个皇后可 以 攻 击 与之 处 在同一行或同一列或同一斜线上的其 他 任何 棋子 。因此 ,本 课程设计的目的也 是通过用C++语 言 平 台 在一个8* 8的棋盘上放上8个皇后,使得每一个皇后既 攻 击 不到 另 外 七 个皇后,也 不被另 外 七 个皇后所攻 击 的92 种 结构 予 以 实 现 。使用递 归 方法最终 将其 问题变 得一目了 然 ,更 加易 懂 。首 先要用到 类 ,将程序合理 化 :我编辑 了 一个盘棋8*8 的类 :class Board,还 有个回 溯 法的类 :class Stack,关 键的类 好 了 ,然 后编辑 好 类 的成员 ,然 后编辑 主 函数利 ...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

C++课程设计八皇后问题

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部