c++八皇后问题课程设计38.docVIP

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c八皇后问题课程设计38

C++课程设计 课程设计题目: 八皇后问题 姓 名: xxx 专 业:xxx 班 级: xxxxxx 学 号:xxxxxxxx 指导教师: xxx 日期: 2014年6月17日 目 录 1 课题综述………………………………………………………………………………………… 2 1. 1课题的来源及意义 2 1.2 预期目标 2 1.3 八皇后问题课题要求 3 1.4 面对的问题 4 2 需求分析 …………………………………………………………………………………………4 2.1 涉及到的知识 4 2.2 总体方案 6 2.3 软件的需求...................................................................................................................................7 2.4 功能需求.......................................................................................................................................7 3 模块及算法设计……………………………………………………………………………………7 3.1 算法描述 7 3.2.详细流程图 9 4.程序代码…………………………………………………………………………………………10 5 程序调试分析……………………………………………………………………………………14 6 运行与测试………………………………………………………………………………………15 7总结 ……………………………………………………………………………………………18 8 致谢 ………………………………………………………………………………………………19 参 考 文 献 ………………………………………………………………………………………19 1.课题综述 1. 1课题的来源及意义 八皇后问题是一个古老而著名的问题,该问题是十九世纪著名的数学家高斯1850年提出的。 在国际象棋中,皇后是最有权利的一个棋子;只要别的棋子在它的同一行或同一列或同一斜线(正斜线或反斜线)上时,它就能把对方棋子吃掉。所以高斯提出了一个问题:在8*8的格的国际象棋上摆放八个皇后,使其不能相互攻击,即任意两个皇后都不能处于同一列、同一行、或同一条斜线上面,问共有多少种解法。 到了现代,随着计算机技术的飞速发展,这一古老而有趣的数学游戏问题也自然而然的被搬到了计算机上。运用所学计算机知识来试着解决这个问题是个锻炼和提高我自己编程能力和独立解决问题能力的好机会,可以使我增强信心,为我以后的编程开个好头,故我选择了这个有趣的课题。 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) 输出样式实例 1.4 面对的问题 需要用三种方法解决八皇后问题,在这里需要查阅大量资料并多加练习,才能成功编写程序。主要要解决下面的问题: 冲突:包括列、行、两条对角线; 列:规定每一列放一个皇后,就不会造成列上的冲突; 行:当第i行被某个皇后占据时,该行所有空格就都不能放置其他皇后; 对角线:对角线有两个方向,在同一对角线上的所有点都不能有冲突。 2.需求分析 2. 1 涉及到的知识 在本次的课程设计中,用到的知识点主要有:类、函数、选择结构里的条件语句、循环结构里的while语句以及for循环语句、控制语句里的break语句、以及字符串函数的运用等等,并且应用到递归、回溯及穷举等比较经典的算法。 2.1.1 类 2.1.1.1 类定义    class 类名    {     细节;(数据成员,成员函数) }; 2.1.1.2 类函数定义 :   返回类型 类名::函数名(形参表)  {     函数体;  } 双冒号: :是域运算符,主要用于类的成员函数的定义。 2.1.2 函数 2.1.2.1 函数的定义 定义函数需要指明:函数执行结果返回值的类型、函数名、形式参数(简称形参)和函数体。 一般形式为: 数据类型 函数名(行参表) { 语句序列; Return 合适类型

文档评论(0)

pfenejiarz + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档