Thanks mọi người. Em làm được rồi. Hóa ra đơn giản hơn mình nghĩ nhiều. Chỉ cần dùng 1 xâu để chứa kết quả và 2 thủ tục Push để thêm 1 cặp ngoặc.
Code của em (chưa cho vào file thôi)
PHP Code:
Uses Crt;
Var
A:Array***91;1..100***93; of Integer;
i,j,bg,bgstr,n:integer;
s:String;
FO:Text;
Procedure Push1(Var s:String; Pos:Integer);
Begin
Insert('()',S,Pos+1);
End;
Procedure Push2(Var s:String; Start,Finish:Integer);
Begin
Insert('(',S,Start);
Insert(')',S,Finish+1);
End;
BEGIN
Assign(FO,'ngoac.txt');
Rewrite(FO);
ClrScr;
Write(' N = '); Readln(n);
For i:=1 to n do Begin Write('A***91;',i,'***93; = '); Readln(A***91;i***93;); End;
bg:=1; s:=''; bgstr:=1;
Repeat
For i:=bg to n do If a***91;i***93;=0 then Begin j:=i; Push1(s,Length(s)); Break; End;
bgstr:=2*bg;
For i:=j-1 downto bg do Push2(s,bgstr,Length(s));
bg:=j+1;
Until bg>n;
Writeln(s); Writeln(FO,s);
Close(FO);
Readln;
END.
Bookmarks