乐亭戴尔电脑维修:这段代码那里错了

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/05 06:33:56
program cc;
const m=8;n=6;
var a:array [1..m] of boolean;i:integer;d:integer;j:integer;
function next(var x:integer):integer;
var k:integer;
begin
repeat
k:=k+1;
if a[x+1]=true and x<m then next:=x+1;
if a[x+1]=false and x<m then next:=next(x+1);
if a[1]=true and x=m then next:=1;
if a[1]=false and x=m then next:=next(1);
until k=n;
end;
beign
for i:=1 to m do a[i]:=true;
j:=0;
repeat
d:=d+1;
j:=next(j);
write(j:2);
until d=m;
end.

先判断x与m的关系再判断a[],否则会越界