t: Real;
S: String;
begin
Curr: = 0;// Поточний елемент у масиві MassP
SetLEngth (MassPer.Mass, MassA.N, MassA.M);// Установвілі розмірність масиву перестановок
MassPer.M: = MassA.N;// Поставили розмірність
MassPer.N: = MassA.M;// Поставили розмірність
CurRow: = 0;// Поточна рядок нового масиву
For I: = 0 to MassA.N -1 Do// Запускаємо по рядках
begin
CurCol: = 0;// Поточний стовпець/рядок нового масиву
For J: = 0 to MassA.M - 1 do
Begin
MassPer.Mass [CurRow, CurCol]: = MassP [Curr];
Inc (Curr);// Перейшли до нового елементу масиву MassP
Inc (CurCol);// Перейшли до нововму колонки нового масиву
end; {For J: = 0 to MassA.M - 1 do}
Inc (CurRow);// Перейшли до нового рядка нового масиву
end; {For I: = 0 to MassA.N -1 Do// Запускаємо}
end;
procedure TMainForm.VS_GenerateRowMinorData (CurCol, Col: Integer;
var InMass: TVS_MassData);
// Формуємо масив мінор для КоШІ_БІНЕ
// На вході
// CurCol - номер столбюца в новому масиві
// COl - номер стовпчика для масиву, з якого будемо брати значення
// InMass - масив, в який будемо заносити значення
Var I: Integer;
begin
For I: = 0 To MassB.N -1 do
inMass.Mass [CurCol, I]: = MassB.Mass [Col -1, I];
end;
Function TMainForm.VS_GetKoshi_Bine: Real;
// Обчислюємо формулу Коші-Біне
// ьПеред викликом повинні бути виконані слід. умови:
// 1 - введено масив а і б
// виконані слід. процедури
// VS_InitMassPErebor;
// VS_Init2xMassPerebot ; p>// VS_SortMassPerebor;
// VS_GetMAssForDet
//
Var I: Integer;
S: String;
begin
Result: = 0;
S: ='';
For I: = 0 to MassA.N - 1 do
Begin
REsult: = REsult + DetA [I] * Detb [I];
S: = S + '(' + FloattoStr (DetA [I]) + ') * (' + FloattoStr (DetB [I]) + ') +';
end;
ResultMemo.Lines.Add ('C = '+ (Copy (S, 1, Length (s) -2)));
end;
function TMainForm.VS_IfMassEq (Massin1, MAssIn2: TVS_MassData): Boolean;
// Порівнюємо 2 мартицей
// Отримуємо True, якщо
// 1. число рядків матриці 1 - числу стовпців матриці 2
// 2. число стоблцов матриці 1 = числу рядків матриці 2
begin
Result: = (Massin1.M = MAssIn2.N) And (Massin1.N = MAssIn2.M)
end;
procedure TMainForm.VS_VerMass (var Massin1, MAssIn2: TVS_MassData);
// Перевіряємо матриці
// Якщо Столбцв матриці А менше, ніж в Б, міняємо матриці місцями
Var TempMass: TVS_MassData;
begin
If Massin1.N
Begin
SetLength (TempMass.Mass, MassIn1.M, MassIn1.N);
TempMass: = Massin1;
SetLength (Massin1.Mass...