求九宫问题
哪位大侠有九宫问题的程序啊,我想看看,有急用,谢谢就是向九宫中输入1--8和空格,达到目标
例如:2 3 7 1 2 3
1 8 6 -> 8 4
5 4 7 6 5
[此贴子已经被作者于2007-7-2 11:55:00编辑过]
void MAGIC(int square[][MAXN],int n)
{
int i,j,num;
memset(square,0,sizeof(int)*n*n);
i=0;
j=n/2;
for ( num=1; num < n*n; num++ )
{
if ( i< 0 && j <0 || square[i][j] != 0 )
{
i+=2;
j++;
}
square[i--][j--]=num;
if ( i < 0 && j >= 0 )
{
i=n-1;
}
if ( j < 0 && i >= 0 )
{
j=n-1;
}
}
}
函数第一个参数是N皆数组,第二个参数n是数组大小,如果你是9宫问题,n就是3,
25宫问题n就是5,49宫问题n就是7,依次类推,
MAXN是最大数组维数,你这里就是九宫问题,所以用3就可以了