Умножение матриц - C# (181613)
Формулировка задачи:
Дали задание написать умножение матриц с помощью метода без использования класса Array. Написал, но выводит почему-то слишком подозрительные числа, иногда обнуляет столбцы. Буду благодарен за любую помощь
Входные матрицы заполняю рандомно
Вызов метода
В сотый раз начал перечитывать код и только на форуме дошло. Вместо = нужно поставить +=. Всем спасибо
static void Multiplication(out int[,] resMatrix, int[,] matrixA, int[,] matrixB, int matrixARows, int matrixACols, int matrixBRows, int matrixBCols) { resMatrix = new int[matrixARows, matrixBCols]; for (int i = 0; i < matrixARows; i++) for (int j = 0; j < matrixBCols; j++) for (int k = 0; k < matrixBRows; k++) resMatrix[i, j] = matrixA[i, k] * matrixB[k, j]; }
static void CreateRandomMatrix(ref int[,] matrix, int rows, int columns, int value) { Random r = new Random(); for (int i = 0; i < rows; i++) for (int j = 0; j < columns; j++) matrix[i, j] = r.Next(value); }
CreateRandomMatrix(ref matrixA, matrixARows, matrixACols, 10); CreateRandomMatrix(ref matrixB, matrixBRows, matrixBCols, 10); int[,] mMatrix; Console.WriteLine("\nMatrix C: MatrixA * MatrixB = "); Multiplication(out mMatrix, matrixA, matrixB, matrixARows, matrixACols, matrixBRows, matrixBCols);
resMatrix[i, j] += matrixA[i, k] * matrixB[k, j];
Решение задачи: «Умножение матриц»
textual
Листинг программы
resMatrix[i, j] += matrixA[i, k] * matrixB[k, j]; // +=
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д