Умножение матриц - 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]; // +=
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д