Цитата(FENIX @ 29.03.05 21:18)
Список я создал и все вроде работает (я только не пойму, что с памятью - ПОСЛЕ работы проги ее становится больше
).
Может, потому что сравниваем некорректно? Уж если брать второй MemAvail
после деструктора, то наверное, первый раз MemAvail нужно брать
перед конструктором (который, кстати, не вызывается, а это - грубейшая ошибка) ...
А насчет процедуры - я бы исправил вот так ...
Код
Procedure List.Delenie;
var
Chastnoe, a, b : inf;
pp: ptr;
begin
pp := first;
a := pp^.Dn; { берем первый элемент }
pp := pp^.Nx; { перемещаемся ко второму }
b := pp^.Dn; { берем второй элемент }
pp := pp^.Nx; { перемещаемся к третьему }
If (a > b) and (abs(b) > 10E-6) then begin { на ноль не делим }
Chastnoe := a / b;
pp^.Dn := Chastnoe; { результат - в третий элемент }
else begin
{ вот тут немного условие неясно, но я думаю,
по аналогии разобраться можно }
end;
end;