Добавил:
korayakov
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
{ ‚лзЁб«ҐЁҐ ¤ҐвҐа¬Ё в }
PROGRAM DET;
USES Crt;
TYPE MATR=ARRAY[1..9,1..9] OF REAL;
label 1;
VAR i,j,k,pr,n,m :INTEGER;
A,X,Y,Z : MATR;
pa,d :REAL;
BEGIN
ClrScr;
Write('n=');
Read(n);
m:=n;
For i:=1 to n do for j:=1 to m do
begin
GotoXY(13*j,4+i);
Write('[',i:1,',',j:1,']=');
Read(A[i,j]);
End;
ReadLn;
If n>1 then
begin
repeat
pr:=0;
for i:=1 to n do if abs(A[1,i])>0.00001 then pr:=1;
if pr =0 then goto 1 else
begin
k:=0;
repeat
k:=k+1;
until (abs(A[1,k])>0.00001) or (k=n);
for i:=1 to n do for j:=1 to n do
begin
X[i,j]:=0;Y[i,j]:=0;Z[i,j]:=0;
end;
if k>0 then for i:=1 to n do
begin
Z[i,1]:=-A[i,k];
A[i,k]:=A[i,1];
A[i,1]:=Z[i,1];
end;
pa:=1;
if n>2 then for i:=1 to n-2 do pa:=pa*A[1,1];
for i:=1 to n-1 do for j:=1 to n-1 do
begin
X[i,j]:=A[1,1]*A[i+1,j+1]-A[i+1,1]*A[1,j+1];
X[i,1]:=X[i,1]/pa;
Y[i,j]:=X[i,j];
end;
n:=n-1;
for i:=1 to n do for j:=1 to n do A[i,j]:=Y[i,j];
end;
until n=1;
end;
1:d:=A[1,1];
Writeln('det=',d)
END.
Соседние файлы в папке curstau