Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const
- size = 4;//размер квадратной матрицы
- type
- myarr = array[1..size, 1..size] of integer;// Опшем тип для двумерного массива
- var
- a, b, c, d, e, f: myarr;
- // Процедура заполнения матрицы псевдослучайными числами
- procedure GenerateMatrix(var arr: myarr; size: byte);
- var
- i, j: byte;
- begin
- for i := 1 to size do
- for j := 1 to size do arr[i, j] := Random(21) - 10;
- end;
- // Процедура вывода матрицы на экран
- procedure OutPutMatrix(arr: myarr; size: byte; arrname: string);
- var
- i, j: byte;
- begin
- WriteLn(arrname);
- for i := 1 to size do
- begin
- for j := 1 to size do Write(arr[i, j]:4, #9);
- WriteLn;
- end;
- end;
- // Процедура умножения матриц
- procedure MultiplicationMatrix(arr1, arr2: myarr; size: byte; var arr: myarr);
- var
- i, j, k: byte;
- begin
- for k := 1 to size do
- for j := 1 to size do
- begin
- arr[k, j] := 0;
- for i := 1 to size do arr[k, j] := arr[k, j] + arr1[k, i] * arr2[i, j];
- end;
- end;
- // Процедура сложения матриц
- procedure AdditionMatrix(arr1, arr2: myarr; size: byte; var arr: myarr);
- var
- i, j: byte;
- begin
- for i := 1 to size do
- for j := 1 to size do arr[i, j] := arr1[i, j] + arr2[i, j];
- end;
- // Процедура вычитания матриц
- procedure SubtractionMatrix(arr1, arr2: myarr; size: byte; var arr: myarr);
- var
- i, j: byte;
- begin
- for i := 1 to size do
- for j := 1 to size do arr[i, j] := arr1[i, j] - arr2[i, j];
- end;
- begin// Основная программа
- GenerateMatrix(a, size);// Формируем матрицу A
- OutPutMatrix(a, size, 'Матрица A:');// Выводим матрицу A
- GenerateMatrix(b, size);// Формируем матрицу B
- OutPutMatrix(b, size, 'Матрица B:');// Выводим матрицу B
- MultiplicationMatrix(a, b, size, c);// Умножаем матрицу A на B
- MultiplicationMatrix(b, a, size, d);// Умножаем матрицу B на A
- //OutPutMatrix(c, size, 'Матрица C (A*B):');// Выводим матрицу С (для отладки)
- //OutPutMatrix(d, size, 'Матрица D (B*A):');// Выводим матрицу D (для отладки)
- SubtractionMatrix(c, d, size, e);// Получаем коммутатор
- AdditionMatrix(c, d, size, f);// Получаем антикоммутатор
- OutPutMatrix(e, size, 'Коммутатор (А*В-В*А):');// Выводим коммутатор
- OutPutMatrix(f, size, 'Антикоммутатор (А*В+В*А):');// Выводим антикоммутатор
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement