程序有错,哪位高手能帮忙修改下列程序:
Program ex4_11;
{====================说明部分==================}
Const ernf:array[0..9] of integer=(1,2,4,8,16,32,64,128,256,512);
Type
arr=array[1..10] of 0..1;
Link=^node;
node=record
Road:arr; {0:left; 1:right}
Next:link;
End;
Var w:array[1..10,1..10] of integer;
n,m:integer;
rr:link;
f:text;
{====================readset过程====================}
Procedure readset;
Var i,j:integer;
begin
assign(f,'input.txt');
reset(f);
readln(f,n,m);
for i:=1 to i do begin
readln(f,w[i,j]);
readln(f);
end;
close(f);
new(rr);rr^.next:=nil;
end;
{==================chang过程=================}
Procedure chang(a:integer;var b:arr);
Var i:integer;
Begin
Fillchar(b,sizeof(b),0);
For i:=1 to n do begin
b:=a mod 2;
a:=a div 2;
if a=0 then break;
end;
End;
{=================answer过程====================}
Procedure answer(road:arr;var ans:integer);
Var i,j:integer;
Begin
ans:=0;j:=1;
For i:=1 to n do begin
Inc(ans,w[I,j]);
If road=1 then inc(j);
End;
End;
{===================jia过程=====================}
Procedure jia(roads:arr);
Var p:link;
Begin
new(p);
p^.next:=roads;
p^.next:=rr^.next;
rr^.next:=p;
End;
{===================sousuo过程========================}
Procedure sousuo;
Var i,ans:integer;
Road:arr;
Begin
for i:=0 to ernf[n-1]-1 do begin
chang(i,road);
answer(road,ans);
if ans=m then jia(road);
end;
End;
{=================print过程================}
Procedure print;
Var p:link;
I,j:byte;
Begin
Assign(f,'d:\output.txt');
Rewrite(f);
P:=rr;
While p^.next;
{for i:=1 to n-1 do write(f,p^.road:2);write(f,'-----');}
j:=1;
For i:=1 to n do begin
Write(f,w[i,j],' ');
If p^.road=1 then inc(j);
End;
Writeln(f);
End;
Writeln(f);
End;
{=================主程序==================}
Begin
readset;
sousuo;
print;
End.