Jurii
Высший разум
(176012)
11 лет назад
Легко:
type tSpis = ^rSpis; rSpis = record N : Integer; Next : tSpis; end;
var First, Last, Cur, Tmp : tSpis; K : Integer;
begin
Write('Enter size = '); ReadLn(K); Randomize;
First := nil; while K > 0 do begin Dec(K); New(Cur); Cur^.N := Random(100); Cur^.Next := nil; if First = nil then First := Cur else Last^.Next := Cur; Last := Cur; end;
WriteLn('List: '); Cur := First; while Cur <> nil do begin Write(#32, Cur^.N); Cur := Cur^.Next; end; WriteLn;
Cur := First; while (Cur <> nil) and (Cur^.Next <> nil) do begin Tmp := Cur^.Next; Cur^.Next := Cur^.Next^.Next; Cur := Cur^.Next; Dispose(Tmp); end;
WriteLn('New list: '); Cur := First; while Cur <> nil do begin Write(#32, Cur^.N); Cur := Cur^.Next; end; WriteLn;
end.
А вот и результат:
Enter size = 5
List:
68 97 22 85 90
New list:
68 22 90
Enter size = 10
List:
25 98 91 16 93 43 16 88 85 17
New list:
25 91 93 16 85