Дан неработающий пример из паскаля ABC, нужно его починить и заставить работать
program E103;
const n=3;
type vectr=array[1..n] of real;
matr= array[1..n,1..n+1] of real;
var I: integer; a: matr; z:vectr;
procedure Data(var x:matr);
{ процедура ввода данных }
var i,j:integer;
begin
for i:=1 to nn do
for j:=1 to mm do
x[i,j]:=random(21)-10;
end;
procedure Print(x:matr);
{ процедура вывода данных }
var i,j:integer;
begin
for i:=1 to nn do begin
for j:=1 to mm do
write(x[i,j]:5); writeln; end
end;
procedure Swap(var a,b:real);
var z:real;
begin
z:=a; a:=b; b:=z
end;
function Det(a:matr):real;
{ вычисление определителя }
function Turn(k:integer):real;
var s:real; k1,k2,k3,k4: integer;
begin s:=0;
k1:=2-k; k2:=2; k3:=2+k;
for I:=1 to n do
begin
s:=s + a[1,k1]*a[2,k2]*a[3,k3];
k4:=k1; k1:=k2; k2:=k3; k3:=k4
end;
Turn:=s
end;
begin
Det:=Turn(1)-Turn(-1)
end;
procedure Solve_Kram(a:matr;var x:vectr);
{ процедура решения системы уравнений методом Крамера}
var d:real; I,j:integer;
begin
d:=Det(a);
if (abs(d) < 1.0e-6 ) then begin writeln(‘Error’); Exit end;
for j:=1 to n do
begin
for I:=1 to n do Swap(a[I,j],a[I,j+1]);
x[j]:=Det(a)/d;
for I:=1 to n do Swap(a[I,n+1],a[I,j])
end;
end;
{ Основная программа }
Begin
Data(a); Print(a); Solve_Kram(a,z);
for I:=1 to n do writeln(‘x[‘,I:2,’]=’,z[i];
readln
End.
Ответа на этот вопрос пока нет. Попробуйте найти его через форму поиска.
Вас заинтересует
1 год назад
1 год назад
7 лет назад
8 лет назад