type pitem = ^item; item = record i: integer; n: pitem; end; var n, k, l: integer; head, p, p1: pitem; procedure add (x,i: integer); var j: integer; begin if (i > 0) and (i <= n+1) then begin new(p); p^.i:=x; if i=1 then begin p^.n:=head; head:=p end else begin p1:=head; for j:=2 to i-1 do p1:= p1^.n; p^.n :=p1^.n; p1^.n:= p; end; inc(n); end; end; procedure delitem(i: integer); var k: integer; begin if (i>=1) and (i<=n) and (head<>nil) then if i = 1 then begin p:=head^.n; dispose(head); head:=p; end else begin p:=head; for k:=2 to i-1 do p:=p^.n; p1:=p^.n; p^.n:= p1^.n; dispose(p1); end; end; procedure writelist; begin p1:=head; while p1 <> nil do begin write(p1^.i:2); p1 := p1^.n; end; writeln; end; begin n:=0; head:=nil; for k:=1 to 9 do add(k,k); writelist; // Вивести вміст спмску add(0,6); // Вставити на 6 місце число 66 writelist; // Вивести вміст спмску delitem(4); // Вилучити 4-ий елемент спмску writelist; // Вивести вміст спмску end.