程序解数独vb.net 数独小游戏vb代码

vb.NET一个找出数组最大最小值的程序有个小问题 谁看一下你是不是应该对最大值和最小值赋初值(比如把 r(1) 赋给最大值和最小值)呢?不然最小值默认初始值是‘0’,后面的判断就不起作用了 。你可以加个断点试试,他们的初始值是多少 。。。
求大神给个能解12*12数独的程序我先问一下,游戏规则 不能沿用9*9的 , 能明确一下吗?
9*9规则:
1 填数1~9
2 一行不能有重复数字
3 一列不能有重复数字
4 9*9可以分成9个3*3的块,3*3内部不能有重复数字
用vb怎么做数独程序你把label控件设为控件数组:Label1()
Private Sub Command1_Click()
Dim a(9) As Integer, i As Integer
Do While '这里你的条件实在看不懂,如果对a()没有限制,就把Do While 和Loop删掉
Randomize
For i = 1 To 9
a(i)=Int(Rnd*3) 1
Next i
Loop
For i=1 to 9
Label1(i).Caption=a(i)
Next i
End Sub
c语言编写的解数独程序#include windows.h
#include stdio.h
#include time.h
char sd[81];
bool isok = false;
//显示数独
void show()
{
if (isok) puts("求解完成");
else puts("初始化完成");
for (int i = 0; i81; i)
{
putchar(sd[i]'0');
if ((i1) % 9 == 0) putchar('\n');
}
putchar('\n');
}
//读取数独
bool Init()
{
FILE *fp = fopen("in.txt", "rb");
if (fp == NULL) return false;
fread(sd, 81, 1, fp);
fclose(fp);
for (int i = 0; i81; i)
{
if (sd[i] = '1'sd[i] = '9') sd[i] -= '0';
else sd[i] = 0;
}
show();
return true;
}
//递归解决数独
void force(int k)
{
if (isok) return;
if (!sd[k])
{
for (int m = 1; m = 9; m)
{
bool mm = true;
for (int n = 0; n9; n)
{
if ((m == sd[k/27*27 (k%9/3)*3 n n/3*6]) || (m == sd[9*n k%9]) || (m == sd[k/9*9 n]))
{
mm = false;
break;
}
}
if (mm)
{
sd[k] = m;
if (k == 80)
{
isok = true;
show();
return;
}
force(k1);
}
}
sd[k] = 0;
}
else
{
if (k == 80)
{
isok = true;
show();
return;
}
【程序解数独vb.net 数独小游戏vb代码】force(k1);
}
}
int main()
{
system("CLS");
if (Init())
{
double start = clock();
force(0);
printf("耗时%.0fms", clock() - start);
}
else puts("初始化错误");
getchar();
}
程序解数独vb.net的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于数独小游戏vb代码、程序解数独vb.net的信息别忘了在本站进行查找喔 。

    推荐阅读