Глава 6 Программирование приложений с графическим интерфейсом
____________________________________________________________________
m, s, t: real; begin
try
SetLength(a, n, n); {установка фактического размера массива Преобразование одномерного массива в двумерный} k:= 1;
for i:= 0 to n - 1 do for j:= 0 to n - 1 do begin
a[i, j]:= vector[k]; k:= k + 1;
end;
for k:= 0 to n - 2 do begin
for i:= k + 1 to n - 1 do begin
if (a[k, k]= 0) then begin
{перестановка уравнений} p:= k;
for r:= i to n - 1 do begin
if abs(a[r, k]) > abs(a[p, k]) then p:= r; end;
if p <> k then begin
for j:= k to n - 1 do begin
t:= a[k, j];
a[k, j]:= a[p, j]; a[p, j]:= t;
end;
t:= b[k]; b[k]:= b[p]; b[p]:= t;
end;
end; // конец блока перестановки уравнений m:= a[i, k] / a[k, k];
a[i, k]:= 0;
for j:= k + 1 to n - 1 do begin
a[i, j]:= a[i, j] - m * a[k, j]; end;