constructor TArr.init;{добавим некую полезную нагрузку в конструктор}
var i:byte;
begin
for i:=1 to maxSize do {обnilим все элементы}
arr[i]:=nil;
end;
procedure TArr.set_index(i: integer; const p: PT);
begin
if i<= maxSize then
begin
if arr[i]=nil then
arr[i]:=p
else
begin
dispose(arr[i],done);
arr[i]:=p;
end;
end;
end;
HHHH1.PAS ( 1.93 килобайт ) Кол-во скачиваний: 391
function TArr.set_index(i: integer; const p: PT):boolean; {сделаем функцию вместо процедуры
true - все нормально
false - наоборот}
begin
if i<= maxSize then
if arr[i]=nil then
begin
arr[i]:=p;
set_index:=true;
end
else
set_index:=false;
end;
HHHH2.PAS ( 1.96 килобайт ) Кол-во скачиваний: 394
type
TArr = object
arr: array[1 .. maxSize] of PT;
num:byte;{сколько объектов уже было добавлено}
procedure set_index(const p: PT);{i нам больше не понадобится}
end;
constructor TArr.init;
var i:byte;
begin
num:=0;{!!!!!!!!!!!!!!!!!}
for i:=1 to maxSize do
arr[i]:=nil;
end;
procedure TArr.set_index(const p: PT);
begin
if num< maxSize then
begin
inc(num);
arr[num]:=p;
end;
end;
HHHH3.PAS ( 1.81 килобайт ) Кол-во скачиваний: 401
PS Только что заметил: по времени вышло почти 10 часов, как и предсказывал, хотя я и не подстраивался
Сообщение отредактировано: Bokul -