数独问题 pascal代码

来源:百度知道 编辑:UC知道 时间:2024/06/06 10:55:07
这是我的程序代码,不知有什么问题,请高手指教
var c,i,j:longint;
ha,hb:array [1..9,1..9] of boolean;
hc:array [1..3,1..3,1..9] of boolean;
s:array [1..10,1..10] of longint;
a:char;
procedure print;
var i,j:longint;
begin
for i:=1 to 9 do
begin
for j:=1 to 9 do
write(s[i,j]);
writeln;
end;
close(output);
halt;
end;
procedure try(dep1,dep2:longint);
var i,dep3,dep4:longint;
begin
if dep1>9
then print
else for i:=1 to 9 do
begin
if ha[dep1,i] and hb[dep2,i] and hc[(dep1-1) div 3+1,(dep2-1) div 3+1,i]
then
begin
s[dep1,dep2]:=i;
ha[dep1,i]:=false;
hb[dep2,i]:=false;
hc[(dep1-1) div 3+1,(dep2-1) div 3+1,i]:=false;
dep3:=dep2;
dep4:=dep1;
repeat
i

1L错了,pascal里有条不成文的规矩,循环变量都要用i,j之类的,mn也是常用的
你应该把错误的输出也打出来啊

果然是pascal,有学院派的风格。

建议你调试一下吧。还有就是先有一套思路了之后再写程序啊。

将来工作了你就知道了,你的公司一般不愿意看到全市i j k l m n之类的变量名啊。

PS,你是jlu的?