Умножение матриц (перевести код из Pascal в C#)
Формулировка задачи:
будьте добры решите задачу!
Задача:
Три продавца продают четыре вида товаров. Количество продаваемого товара сведено в таблицу A.
Алгоритм решения задачи:
В таблице B представлены цена каждого товара и комиссионные (наценка), получаемые от продажи.
Вырученные от продажи деньги подсчитываются так:
1-й продавец: 5 * 20.30 + 3 * 18.60 + 7 * 12.10 + 0 * 23.00 = 242.00
2-й продавец: 7 * 20.30 + 1 * 18.60 + 9 * 12.10 + 2 * 23.00 = 315.60
3-й продавец: 3 * 20.30 + 4 * 18.60 + 7 * 12.10 + 6 * 23.00 = 358.00
А полученные комиссионные так:
1-й продавец: 5 * 1.60 + 3 * 1.30 + 7 * 1.00 + 0 * 1.80 = 18.90
2-й продавец: 7 * 1.60 + 1 * 1.30 + 9 * 1.00 + 2 * 1.80 = 25.10
3-й продавец: 3 * 1.60 + 4 * 1.30 + 7 * 1.00 + 6 * 1.80 = 27.80
Эти вычисления называются умножением матриц и записываются так, как представлено на рисунке выше.
Число столбцов таблицы A должно совпадать с числом строк таблицы B. Результирующая таблица C имеет столько строк, сколько у A, и столько столбцов, сколько у B.
Следующая программа вводит матрицы A и B, перемножает эти матрицы и затем печатает их произведение – матрицу C:
atype = array[1..3,1..4] of integer; btype = array[1..4,1..2] of real; ctype = array[1..3,1..2] of real; var a: atype; b: btype; c: ctype; n,i,j,k: integer; begin for n := 1 to 3 do readln(a[n,1],a[n,2],a[n,3],a[n,4]); for n := 1 to 4 do readln(b[n,1],b[n,2]); for i := 1 to 3 do for j := 1 to 2 do begin c[i,j] := 0; for k := 1 to 4 do c[i,j] := c[i,j] + a[i,k] * b[k,j]; end; for n := 1 to 3 do writeln(c[n,1]:8:2, c[n,2]:8:2); readln end.
Решение задачи: «Умножение матриц (перевести код из Pascal в C#)»
textual
Листинг программы
public float[,] Mult(float[,] X, float[,] C) // умножаем матрицы { float[,] Matrix = new float[8,4]; for (int i = 0; i < 8; i++) { for (int j = 0; j < 4; j++) { for (int k = 0; k < 4; k++) { Matrix[i, j] += X[i, k] * C[k, j]; } } } return Matrix; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д