Промежуточные результаты в PascalABC.Net

Сергей Малахов

Как сделать промежуточные результаты для решения систем линейных уравнений методом последовательных исключений? (метод Гаусса) Т.е. что бы программа выводила не только расширенную матрицу и прямой ход, а вообще всё решение системы в матрицах, от 1-ой и до последней, в зависимости от того какая размерность матрицы указана пользователем. Вот часть (чисто решение) моего кода по решению СЛАУ, если вдруг понадобится:
```
writeln;
writeln('Расширеная матрица:');
for i:=1 to n do
begin
for j:=1 to n do
write (a[i, j]:5:3,' ':2); {Вывод матрицы с отступами}
write (b[i]:5:3,' ':2); {Вывод вектора с отступами}
writeln;
end;
writeln;

writeln('         Прямой ход         ');
for i:=1 to n-1 do {Строки}

begin
for k:=i+1 to n do {Столбцы}
begin
if a[i,i]=0 then a[i,i]:=c; {Обход деления на 0}
delenie:= -1*(a[k,i] / a[i,i]); {Элемент след. урав-я делим на
элемент ведущего урав-я и умнож. на -1}
for j:=1 to n do {Еще счетчик}
a[k,j]:= a[k,j] + a[i,j] * delenie; {К след. уравнению
прибавляем ведущее...}
b[k]:= b[k] + b[i] * delenie; {и умножаем на рез-тат деления}
end;
for w:=1 to n do
write (a[q, w]:5:3,' ':2); {Вывод матрицы с отступами}
write (b[q]:5:3,' ':2); {Вывод вектора с отступами}
writeln;
for q:=1 to n do
end;

writeln('           Результат прямого хода:        ');
for i:=1 to n do
  begin
   for j:=1 to n do
    write (a[i, j]:5:3,' ':2); {Выводим на экран...}
    write (b[i]:5:3,' ':2); {результат прямого хода}
    writeln;
  end;
writeln;

writeln('обратный ход');
for i:=n downto 1 do
begin
  for j:= i+1 to n do
      b[i]:= b[i] - a[i,j] * e[j]; {Раскурчиваем уравнение...}
      e[i]:= b[i] / a[i,i]; {в обратном порядке}
 end;

writeln('ОТВЕТ:');
for i:=1 to n do
 writeln('X[',i:1,']=', e[i]:1:2, '.');

readkey;
```

1 чел.