= n масивів B і А, виходячи з т. Біне - Коші, ');
DetA: = VS_Det (MassA);
DetB: = VS_Det (MassB);
Det: = DetA * DetB;
ResultMemo.Lines.Add ('DetC = DetA * Det B = '+ FloatToStr (DetA) +' * '+ FloatToStr (DetB) +' = '+ FloatToStr (Det));
end;
If (MassA.M MassB.N) Then
Begin
IF VS_IfMassEq (MAssA, MAssB)
Then
BEgin
VS_VerMass (MAssA, MAssB);
VS_InitMassPErebor;
VS_Init2xMassPerebot ; p> VS_SortMassPerebor;
VS_GetMAssForDet;
ResultMemo.Lines.Add ('Разом по формулі Коші - Біне:' + FloattoStr (VS_GetKoshi_Bine))
end {IF VS_IfMassEq (MAssA, MAssB)}
Else ResultMemo.Lines.Add ('Матриці не рівні')
end; {If (MassA.M MassB.N) Then}
end;
procedure TMainForm.DetCClick (Sender: TObject);
Var Det: Real;
begin
Det: = VS_Det (MassC);// обчислюємо визначник
ResultMemo.Lines.Add ('Визначник матриці C дорівнює' + FloattoStr (Det));// Виводимо результат у Мемо
ShowMessage (FloatToStr (Det));// Виводимо результат у діалогове вікно
end;
function TMainForm.VS_Minor (II, Jj: Integer; InMass: TVS_MassData): REal;
// Вичіслаем мінор
Var
Col,// ​​Поточний стовпець нової матриці
Row,// ​​Поточна рядок нової матриці
I, J: Integer;
TempMass: TVS_MassData;
begin
If InMass.M <> InMass.N Then Exit;// матриця не квадратна - тікаємо
SetLength (TempMass.Mass, InMass.M -1, InMass.N -1) ;//Встановили розмір матриці
Row: = 0;
For I: = 0 To InMass.M -1 Do
begin
Col: = 0;// Почали новий масив з першого елемента
If I <> II -1 Then
Begin// Відкидаємо I рядок
For J: = 0 To InMass.N -1 do
If J <> JJ -1 Then
Begin// Перебираємо всі столюци, крім J
TempMass.Mass [Row, Col] : = InMass.Mass [I, J];
Inc (Col);
end; {If J <> JJ Then}
Inc (Row);// Перейшли на сл. рядок для нового масиву
end; {If I <> II Then}
end; {For I: = 0 To InMass.M Do}
TempMass.M: = InMass.M - 1;
TempMass.N: = InMass.N - 1;
Result: = VS_Det (TempMass);
end;
procedure TMainForm.AssignMass (InMAss: TVS_MassData;
var OutMass: TVS_MassData);
// Передаємо дані з InMass в OutMass;
Var
I,
J: Integer;
begin
for i: = 0 to InMAss.M - 1 do// пробігати по рядках
for j: = 0 to InMAss.N - 1 do// пробігати по стовпцях
OutMass.Mass [i, j]: = InMass.Mass [i, j];// Переносимо значення з InMAss в OutMas
OutMass.M: = InMAss.M;// Переносимо число, що визначає кількість рядків
OutMass.N: = InMAss.N;// Переносимо число, що визначає кількість стовпців ...