Форум: "Основная";
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];
ВнизАлгоритм!!!! Найти похожие ветки
← →
XOY (2002-03-31 15:32) [1]Вот исходник на пасе для расчета опредилителя 4-ого порядка.
Как работает толком не помню (давно уже этим не занимался). Суть
в том что Det любой матрици можно найти через Det матр. на порядок меньше. Таким образом все сводится к расчету множества Det 3-го порядка по правилу триугольника.
Uses crt;
Type
Matrix = array[1..3,1..3] of integer;
var
M: array[1..4,1..4] of integer;
i1,i2: byte;
Opr: integer;
M1,M2,M3,M4: Matrix;
label
L1;
Function GetOpredelitel(var Ma: Matrix): integer;
var
OprPl,OprMin: integer;
begin
OprPl:= Ma[1,1]*Ma[2,2]*Ma[3,3] + Ma[1,2]*Ma[2,3]*Ma[3,1] + Ma[1,3]*Ma[2,1]*Ma[3,2];
OprMin:= Ma[1,1]*Ma[2,3]*Ma[3,2] + Ma[1,2]*Ma[2,1]*Ma[3,3] + Ma[1,3]*Ma[2,2]*Ma[3,1];
GetOpredelitel:= OprPl - OprMin;
end;
begin
L1:
clrscr;
gotoxy(15,2); Write("ђ бзҐв ®ЇаҐ¤Ґ«ЁвҐ«п 4Ј® Ї®ап¤Є ");
gotoxy(2,4); Write("‚ўҐ¤ЁвҐ Є®ЁддЁжЁҐвл:");
for i1:= 1 to 4 do begin
for i2:= 1 to 4 do begin
gotoxy(10+i1*8,6+i2*3);
readln(M[i1,i2]);
end;
end;
M1[1,1]:= M[2,2];
M1[1,2]:= M[2,3];
M1[1,3]:= M[2,4];
M1[2,1]:= M[3,2];
M1[2,2]:= M[3,3];
M1[2,3]:= M[3,4];
M1[3,1]:= M[4,2];
M1[3,2]:= M[4,3];
M1[3,3]:= M[4,4];
M2[1,1]:= M[2,1];
M2[1,2]:= M[2,3];
M2[1,3]:= M[2,4];
M2[2,1]:= M[3,1];
M2[2,2]:= M[3,3];
M2[2,3]:= M[3,4];
M2[3,1]:= M[4,1];
M2[3,2]:= M[4,3];
M2[3,3]:= M[4,4];
M3[1,1]:= M[2,1];
M3[1,2]:= M[2,2];
M3[1,3]:= M[2,4];
M3[2,1]:= M[3,1];
M3[2,2]:= M[3,2];
M3[2,3]:= M[3,4];
M3[3,1]:= M[4,1];
M3[3,2]:= M[4,2];
M3[3,3]:= M[4,4];
M4[1,1]:= M[2,1];
M4[1,2]:= M[2,2];
M4[1,3]:= M[2,3];
M4[2,1]:= M[3,1];
M4[2,2]:= M[3,2];
M4[2,3]:= M[3,3];
M4[3,1]:= M[4,1];
M4[3,2]:= M[4,2];
M4[3,3]:= M[4,3];
Opr:= M[1,1]*GetOpredelitel(M1) - M[1,2]*GetOpredelitel(M2) + M[1,3]*GetOpredelitel(M3) - M[1,4]*GetOpredelitel(M4);
gotoxy(2,23);
Write("ЋЇаҐ¤Ґ«ЁвҐ«м а ўҐ: ",Opr," ");
Write("Џа®¤®«¦Ёвм?");
repeat
until keypressed = true;
i1:= ord(readkey);
if i1 = 13 then goto L1;
end.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.006 c