Нахождение произведения двух матриц — Pascal(Паскаль)

Program Pro_39 (Input, Output);
Var 
X, Y, Z : Array [1..20, 1..20] Of Integer; 
N1, M1, N2, M2: Integer;
i, j, k: Integer;
S : Integer;
Begin
 
WriteLn ('PASCAL:Нахождение произведения двух матриц.');
 
Write ('Введите количество строк первой матрицы: '); 
ReadLn (N1); 
Write ('Введите количество столбцов первой матрицы: '); 
ReadLn (M1);
WriteLn ('Введите поочередно элементы первой матрицы:'); 
For i := 1 To N1 Do
For j := 1 To M1 Do 
Begin
Write ('X[', i, ',', j, '] = ');
ReadLn (X [i, j] );
End;
 
WriteLn ('Число строк 2-ой матрицы равно числу столбцов 1-ой матрицы.');
N2 := M1; 
Write ('Введите количество столбцов второй матрицы: '); 
ReadLn (M2);
WriteLn ('Введите поочередно элементы второй матрицы:'); 
For i := 1 To N2 Do
For j := 1 To M2 Do 
Begin
Write ('Y[', i, ',', j, '] = ');
ReadLn (Y [i, j] );
End;
 
For i := 1 To N1 Do
For j := 1 To M2 Do 
Begin
S := 0;
For k := 1 To N2 Do 
S := S + X [i, k] * Y [k, j]; 
Z [i, j] := S; 
End;
 
WriteLn;
WriteLn ('Полученная матрица:');
For i := 1 To N1 Do
Begin
For j := 1 To M2 Do 
Write (Z [i, j] : 5);
WriteLn;
End;
 
ReadLn;
End.

Leave a Comment

9 + 1 =