Другие языки программирования и технологии

Помогите написать прогу на Паскале, экзамен горит, очень нужно..

прога по теме Динамические переменные.
Сформировать однонаправленный список, элементы которого - целые числа. Вывести список на экран. Удалить из списка все нечетные. Вывести список на экран. Посчитать сумму четных.
что же ты пошел на программиста то учиться?
Сергей Сыропятов
Сергей Сыропятов
166
Лучший ответ
Виталий Адамович На техника пошёл... Ну да, зря, сам уже вижу. Но последний курс, надо досидеть.
С прогой помочь можешь?
type tSpis = ^rSpis; rSpis = record N : Integer; Next : tSpis; end;
var First : tSpis; L : Word;
procedure IniSpis(L : Word);
var Cur, Last : tSpis;
begin
while L > 0 do begin New(Cur); Cur^.N := Random(201) - 100; Cur^.Next := nil; if First = nil then First := Cur else Last^.Next := Cur; Last := Cur; Dec(L); end;
end;
procedure OutSpis;
var Cur : tSpis;
begin
Cur := First; while Cur <> nil do begin Write(Cur^.N, #32); Cur := Cur^.Next; end; WriteLn;
end;
procedure DelOdd;
var Cur, Pred, Tmp : tSpis;
begin
Pred := nil; Cur := First; while Cur <> nil do if Odd(Cur^.N) then if Cur = First then begin First := Cur^.Next; Dispose(Cur); Cur := First; end else begin Tmp := Cur; Cur := Cur^.Next; if Pred <> nil then Pred^.Next := Cur; Dispose(Tmp); end else begin Pred := Cur; Cur := Cur^.Next; end;
end;
function Summ : Longint;
var Cur : tSpis; S : Longint;
begin
Cur := First; S := 0; while Cur <> nil do begin S := S + Cur^.N; Cur := Cur^.Next; end; Summ := S;
end;
begin
First := nil; Randomize; Write('Число элементов списка: '); ReadLn(L);
IniSpis(L); WriteLn('Список заполнен случайными числами: '); OutSpis;
DelOdd; WriteLn('Удалены все нечётные числа: '); OutSpis;
WriteLn('Сумма чётных чисел равна ', Summ);
end.
так здесь же легкотня
Виталий Адамович Умные все пишут, а помочь не могут -_-