вот тест программы, она вводит и выводит числа. числа хранятся в двусвязном списке с фиктивным элементом.
Код:
Type
List=^element;
element=record
num : integer;
right,left : List;
end;
Procedure Creation(var sent : List);
Begin
new(sent);
sent^.left:=sent;
sent^.right:=sent;
end;
Procedure Insertion(p : List; y : integer);
Var
q : List;
Begin
new(q);
q^.num:=y;
q^.left:=p;
q^.right:=p^.right;\\ что происходит здесь?
p^.right^.left:=q;\\ и здесь.
p^.right:=q;
End;
Var
i, k,x : integer;
sent,p : List;
Begin
Reset(input,'input.txt');
Rewrite(output,'output.txt');
Creation(sent);
while not seekeof do begin
read(x);
Insertion(sent,x);
end;
p:=sent^.left;
while p<>sent do begin
Write(p^.num,' ');
p:=p^.left;
end;
end