Тема: Динамічний масив, індекс виходить за границі массива
Type
TwoCoord=record
x1,y1,x2,y2:integer;
enabled:boolean;
end;
var
i,j,k :integer;
check: real;
x,y,d: array of integer;
LinesMas: array of TwoCoord;
MasBord: array of integer; {all lines left to coord}
Bot_Border, Top_Border,
Left_Border, Right_Border: array of integer;
TSort: integer;
.....
setlength(Bot_Border,3);
k:=3;
Bot_Border[1]:=0;
Bot_Border[2]:=n;
for i:=1 to (length(LinesMas)-1) do
begin
if LinesMas[i].y1=0 then
begin
SetLength(Bot_Border, Length(Bot_Border)+1);
Bot_Border[k]:=LinesMas[i].x1;
inc(k);
end;
if LinesMas[i].y2=0 then
begin
SetLength(Bot_Border, Length(Bot_Border)+1);
Bot_Border[k]:=LinesMas[i].x2;
inc(k);
end;
end;
for i:=1 to (length(Bot_Border)-1) do
for j:=1 to (length(Bot_Border)-i) do
if Bot_Border[j]>Bot_Border[j+1] then
begin
TSort:=Bot_Border[j];
Bot_Border[j]:=Bot_Border[j+1];
Bot_Border[j+1]:=TSort;
end;
на цьому рядку
if Bot_Border[j]>Bot_Border[j+1]
видає помилку, що індекс виходить за границі массива