Умножение матриц - 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]; // +=