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

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

ID:15477413

大小:785.77 KB

页数:20页

时间:2018-08-03

c++八皇后问题课程设计_第1页
c++八皇后问题课程设计_第2页
c++八皇后问题课程设计_第3页
c++八皇后问题课程设计_第4页
c++八皇后问题课程设计_第5页
资源描述:

《c++八皇后问题课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C++课程设计课程设计题目:八皇后问题姓名:xxx专业:xxx班级:xxxxxx学号:xxxxxxxx指导教师:xxx日期:2014年6月17日目录1课题综述…………………………………………………………………………………………21.1课题的来源及意义21.2预期目标21.3八皇后问题课题要求31.4面对的问题42需求分析…………………………………………………………………………………………42.1涉及到的知识42.2总体方案62.3软件的需求............................................

2、.......................................................................................72.4功能需求.......................................................................................................................................73模块及算法设计………………………………………………………………………

3、……………73.1算法描述73.2.详细流程图94.程序代码…………………………………………………………………………………………105程序调试分析……………………………………………………………………………………146运行与测试………………………………………………………………………………………157总结……………………………………………………………………………………………188致谢………………………………………………………………………………………………19参考文献………………………………………………………………………………………

4、191.课题综述1.1课题的来源及意义八皇后问题是一个古老而著名的问题,该问题是十九世纪著名的数学家高斯1850年提出的。在国际象棋中,皇后是最有权利的一个棋子;只要别的棋子在它的同一行或同一列或同一斜线(正斜线或反斜线)上时,它就能把对方棋子吃掉。所以高斯提出了一个问题:在8*8的格的国际象棋上摆放八个皇后,使其不能相互攻击,即任意两个皇后都不能处于同一列、同一行、或同一条斜线上面,问共有多少种解法。到了现代,随着计算机技术的飞速发展,这一古老而有趣的数学游戏问题也自然而然的被搬到了计算机上。运用所学计算机知识来试着解决这个

5、问题是个锻炼和提高我自己编程能力和独立解决问题能力的好机会,可以使我增强信心,为我以后的编程开个好头,故我选择了这个有趣的课题。1.2预期目标运用C++程序设计的编程思想编写代码,实现八皇后问题的所有(92种)摆放情况。要求在DOS界面上显示出每一种方式。1.3八皇后问题课题要求输入后,显示X,Y以及共有多少种布局方案,并显示每一种方案的具体情况77:(0,2)(1,0)(2,6)(3,4)(4,7)(5,1)(6,3)(7,5)78:(0,7)(1,1)(2,4)(3,2)(4,0)(5,6)(6,3)(7,5)输出样式实例

6、1.4面对的问题需要用三种方法解决八皇后问题,在这里需要查阅大量资料并多加练习,才能成功编写程序。主要要解决下面的问题:冲突:包括列、行、两条对角线;1.列:规定每一列放一个皇后,就不会造成列上的冲突;2.行:当第i行被某个皇后占据时,该行所有空格就都不能放置其他皇后;3.对角线:对角线有两个方向,在同一对角线上的所有点都不能有冲突。2.需求分析2.1涉及到的知识在本次的课程设计中,用到的知识点主要有:类、函数、选择结构里的条件语句、循环结构里的while语句以及for循环语句、控制语句里的break语句、以及字符串函数的运用

7、等等,并且应用到递归、回溯及穷举等比较经典的算法。2.1.1类2.1.1.1类定义类就是用户自定义的数据类型。类定义的一般形式如下:  class类名  {   细节;(数据成员,成员函数)};2.1.1.2类函数定义类成员函数类的成员函数通常在类外定义,一般形式如下: 返回类型类名::函数名(形参表) {   函数体; }双冒号::是域运算符,主要用于类的成员函数的定义。2.1.2函数2.1.2.1函数的定义定义函数需要指明:函数执行结果返回值的类型、函数名、形式参数(简称形参)和函数体。一般形式为:数据类型函数名(行参表)

8、{语句序列;Return合适类型数值}2.1.2.2数据类型规定了函数返回值类型。执行函数体中的语句后,通常会产生一个结果,这就是函数的返回值,它可以是任何有效的类型。若函数执行后不返回值,数据类型习惯用void来表示。如果在函数定义时没有数据类型出现,则默认为函数返回值为整

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

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

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