首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求高手指正—上面的程序

2012-12-31 
求高手指正—下面的程序#include iostreamusing namespace stdint n1,total0int fx[8]{1,1,2,2,-1,-

求高手指正—下面的程序
#include <iostream>
using namespace std;
int n=1,total=0;
int fx[8]={1,1,2,2,-1,-1,-2,-2};
int fy[8]={2,-2,1,-1,2,-2,1,-1};
int board[5][5];//怎么初始化?
int mian()
{int x1,y1;
cout<<"输入初始坐标(x1,y1)"<<endl;
cin>>x1>>y1;
board[x1][y1]=1;
total=1;
void search(int i,int j);
search (x1,y1);
return 0;
}
void search (int i,int j)
{int k,newi,newj;
int check (int i,int j,int k);
void out();
for (k=0;k<8;k++)
if ( check(i,j,k)==1)
{newi=i+fx[k];
newj=j+fy[k];
n++;
board [newi][newj]=n;
if (n==25)
out();
else 
search (newi,newj);
}
board [i][j]=-1;
}

 void out ()
{int i,j;
for (i=0;i<5;i++)
{for (j=0;j<5;j++)
   cout<<board[i][j];
cout<<endl;}
}

int check(int i,int j,int k)
{int flag=1;
    i=i+fx[k];
j=j+fy[k];
if(i<0 || i>4 || j<0 ||j>4)
flag=0;
else 
if (board[i][j]>0)
      flag=0;
return flag;
}
[解决办法]
int board[5][5];//怎么初始化?

-------------------
写for循环初始化啊
[解决办法]
int board[5][5]={0}这样就初始化了
[解决办法]
void search (int i,int j)
void out ()
int check(int i,int j,int k)
这三个函数要在main函数之前声明下

还有你的main函数写成了mian()求高手指正—上面的程序

热点排行