Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Создать список, удалить каждый второй элемент Pascal (Помогите плиз)

Евгений Квасник Ученик (222), закрыт 11 лет назад
Создать список, удалить каждый второй элемент Pascal (Помогите плиз)
Лучший ответ
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
Остальные ответы
Похожие вопросы