网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C/C++
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.动态汉化Windows技术的分析.
.使用C++和XML建立智能文档(三).
.C语言初学者入门讲座 第十二讲 结.
.为VC++应用程序对话框添加透明位.
.非安全编程演示之格式化字符串篇.
.轻轻松松从C一路走到C++系列文章.
.API之打印函数.
.C语言初学者入门讲座 第一讲 慨述.
.More Effective C++:理解new和d.
.C++中用vectors改进内存的再分配.
.C趣味编程百例(06).
.Delphi中带缓存的数据更新技术.
.关于广播地址的问题.
.罗云彬VxD教程--虚拟设备驱动程序.
.C++内存管理详解.
.C语言中的位运算.
.8 Quen.
.对C/C++中多维数组指针的理解.
.链表的C语言实现之单链表的实现.
.COM编程入门1.

八皇后问题的求解

发表日期:2008-3-8



/*该程序产生的最终结果存于当前工程目录下的result.txt文件中*/
#include<iostream.h>
#include<iomanip.h>
#include<fstream.h>
//用类定义一个节点,包含x坐标和y坐标以及该节点的值value
class CNode
{
public:
 int x;
 int y;
 int value;
 void SetValue()
 void ClearValue()
};
CNode array[8][8];//定义一个8*8的节点矩阵
int cnt=0;//定义一个计数器
//打印函数,打印此时的矩阵数据
void PrintArray(ofstream& out)
{
 int i,j;
 for(i=0;i<8;i++)
 
  out<<endl;
 }
 return;
}
//判定a节点是否与位于a节点之前已存在所有任一节点位于同一直线上
int InSameLine(CNode a)
{
 int i,j;
 for(i=0;i<=a.y;i++)
  for(j=0;j<(i<a.y?8:a.x);j++)
  {
   if(array[i][j].value==1)
   {
    if(a.x==array[i][j].xa.y==array[i][j].y
    a.x-a.y==array[i][j].x-array[i][j].y
    a.x+a.y==array[i][j].x+array[i][j].y)
    return 1;
   }
  }
  return 0;
}
//依次产生所有的节点
void CreateNextNode(int row,ofstream out)
{
 if(row==8)
 {
     out<<"第"<<cnt+1<<"种解法"<<endl;
  PrintArray(out);
  cnt++;
  out<<endl;
  return;
 }
 for(int j=0;j<8;j++)
 
 }
}
//主函数main()
void main()
{
 ofstream outfile("result.txt");
 if(!outfile)
 
 int i,j;
    for(i=0;i<8;i++)
  for(j=0;j<8;j++)
  
 CreateNextNode(0,outfile);
 outfile<<"总共有"<<cnt<<"种解法"<<endl;
 outfile.close();
 cout<<"传输文件完毕!"<<endl;
 return;
}


上一篇:UDP编程 人气:1775
下一篇:WinSocket 编程 人气:1103
浏览全部C/C++的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐