С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
doqsoftware
6 / 6 / 9
Регистрация: 02.07.2015
Сообщений: 80
Завершенные тесты: 2
1

Умножение матриц

03.12.2016, 00:17. Просмотров 438. Ответов 2
Метки нет (Все метки)

Дали задание написать умножение матриц с помощью метода без использования класса Array. Написал, но выводит почему-то слишком подозрительные числа, иногда обнуляет столбцы. Буду благодарен за любую помощь

C#
1
2
3
4
5
6
7
8
9
10
11
        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];
 
        }
Входные матрицы заполняю рандомно

C#
1
2
3
4
5
6
7
8
        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);
        }
Вызов метода

C#
1
2
3
4
5
6
7
8
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);

В сотый раз начал перечитывать код и только на форуме дошло. Вместо = нужно поставить +=. Всем спасибо
C#
1
resMatrix[i, j] += matrixA[i, k] * matrixB[k, j];
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2016, 00:17
Ответы с готовыми решениями:

Умножение матриц
Доброго времени суток, форумчане.:senor: Реализовывал операции с матрицами...

Умножение матриц
Всем привет. Подскажите, пожалуйста, что я делаю не так? Задача: написать...

Умножение матриц
Всем привет, реализовываю метод для умножения матриц. Банальный алгоритм, но...

Умножение матриц
Ужножить матрицу Mas1 на матрицу Mas2 using System; using...

Умножение матриц
Добрый вечер. Написал вот такой код для умножения матриц . int...

2
Aael
411 / 305 / 178
Регистрация: 02.06.2016
Сообщений: 538
Завершенные тесты: 1
03.12.2016, 00:21 2
doqsoftware,
C#
1
resMatrix[i, j] += matrixA[i, k] * matrixB[k, j]; // +=
1
TopLayer
791 / 591 / 303
Регистрация: 23.10.2016
Сообщений: 1,402
Завершенные тесты: 7
03.12.2016, 00:29 3
У вас:
C#
1
 resMatrix[i, j] = matrixA[i, k] * matrixB[k, j];
Надо:
C#
1
 resMatrix[i, j] += matrixA[i, k] * matrixB[k, j];
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2016, 00:29

Умножение матриц
Подскажите, где ошибка? Даже если ввести 2 квадратных матрицы (пока проверку не...

C# Умножение матриц
Пробовал сделать умножение матриц, но почему-то происходит какая-то фигня....

Многопотоковое умножение матриц C#
Программа ниже производит умножение двух матриц. Нужно изменить ее, реализовав...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru