Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
16
Добавлен:
17.04.2013
Размер:
2 Кб
Скачать

               { ‚лзЁб«Ґ­ЁҐ ¤ҐвҐа¬Ё­ ­в  }

 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