я введення - перемикача
sedtRazmA.Value: = MassA.N;// Встановили значення, виводиться на екран
// Налагодження еелементов введення для розмірності масиву по стовпцях - N
sedtRazmB.MinValue: = 1;// Встановили мінімальну знаеченіе для введення-перемикача
sedtRazmB.MaxValue: = MaxM;// Встановили максимальне значення для введення - перемикача
sedtRazmB.Value: = MassA.M;// Встановили значення, виводиться на екран
lbPrompt2.Caption: = 'Розмірність M';
btnNext.Caption: = 'Далі';
btnCancel.Caption: = 'Відміна';
If InRazmForm.ShowModal = Mrok Then// якщо користувач натиснув кнопку "Далі"
Begin
MassA.N: = sedtRazmA.Value;// Зберігаємо розмірність масиву
MassA.M: = sedtRazmB.Value;// Зберігаємо розмірність масиву
VS_InputMass (MassA);// Виводимо сітку для введення масива
end; {If ShowModal = Mrok Then}
end; {With InRazmForm do}
end; {procedure TMainForm.InputMassAClick (Sender: TObject);}
procedure TMainForm.NMultiplicationClick (Sender: TObject);
// Множення матриць
begin
VS_MultiplicMass (MassA, MassB, MassC);// Множимо матриці
VS_ShowMassToMemo ("Результат твори A * B вийшов ', MassC);// Результат виводимо в Мемо
VS_ShowMass ('Підсумковий результат', MassC);// Виводимо результати розрахунку
end;
procedure TMainForm.VS_MultiplicMass (var inMassA, InMassB, MassOut: TVS_MassData);
// Множимо матриці
// N, M - розмірність матриці, де
// N - стоблец
// M - рядок
// inMassA - масив А
// inMassB - масив Б
// MassOut - масив С/вихідний масив
Var P, i, j: Integer;
S: Real;
begin
For I: = 0 to inMassA.M - 1 do// i = 1 .. m
For J: = 0 to inMassB.N - 1 do// j = 1 .. k
begin
S: = 0;// Сбнуляем лічильник
For P: = 0 to inMassA.N -1 do// p = 1 .. n
S: = S + inMassA.Mass [i, p] * InMassB.Mass [p, j];// Обчислюємо за формулою (Cij = Ep (Aip * Bpj)? де i = 1 .. m, j = 1 .. k) p>
MassOut.Mass [I, J]: = s;// Зберігаємо результат у масив С
end;
MassOut.N: = inMassB.N;// Зберігаємо одержавши розмірність масиву С
MassOut.M: = inMassA.M;// Зберігаємо одержавши розмірність масиву С
end;
procedure TMainForm.InputMassBClick (Sender: TObject);
begin
If InRazmForm = Nil Then Application.CreateForm (TInRazmForm, InRazmForm);
With InRazmForm do
Begin
Caption: = 'Введення розмірності ряду Б';
Hint: = Caption;
ShowHint: = True;// Дозволяємо швидкі підказки на формі
lbPrompt1.Caption: = 'Розмірність N';
sedtRazmA.MinValue: = 1;// Встановили мінімальну знаеченіе для введення-перемикача
sedtRazmA.MaxValue: = MaxN;// Встановили максимальне значення для вв...