Форум программистов, компьютерный форум CyberForum.ru

Сложение и умножение матриц - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.96
Raphael92
0 / 0 / 0
Регистрация: 12.10.2010
Сообщений: 154
04.01.2011, 15:50     Сложение и умножение матриц #1
Даны матрицы A,B,C порядка n. Найти матрицу D=(A+B)C
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
04.01.2011, 16:11     Сложение и умножение матриц #2
Вот так сумировать матрицы
C++
1
2
3
for(i=0;i<H;i++)
   for(int j=0;j<W;j++)
       smatrix[i][j]=matrix1[i][j]+matrix2[i][j];
а так перемножать
C++
1
2
3
4
5
6
7
void matrixmult( int **m1, int m1_row, int m1_col, int **m2, int m2_row, int m2_col, int **m3, int m3_row, int m3_col)
{
    for (int k = 0; k < m2_col; ++k)
        for (int i = 0; i < m1_row; ++i)
             for (int j = 0; j < m1_col; ++j)
                   m3[i][k] += m1[i][j] * m2[j][k];
}
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
04.01.2011, 17:41     Сложение и умножение матриц #3
asics, Ты условия забыл указать при которых матрицы можно складывать и при которых можно перемножать.

Складывать можно только в том случае если матрицы имею одинаковый размер.
Перемножать, если кол-во столбцов в первой равно кол-ву строк во второй. Итоговая матрица будет иметь размер : кол-во строк первой * кол-во столбцов второй.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
04.01.2011, 17:44     Сложение и умножение матриц #4
ForEveR, Ну это же прописная истина, не думаю что ТС этого не знает.Но все равно спасибо за поправку.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
04.01.2011, 18:09     Сложение и умножение матриц #5
asics, хм... если я в маткаде (а маткад честно куплен) попробую сложить матрицы разных размеров, он зависнет и упадёт, я напишу в службу поддержки с моей проблемой, а мне разработчики скажут "ну ё-моё, ну нельзя складывать матрицы разных размеров, это, бл..., прописная истина, вы что, не в курсе???", как вы думаете, это нормально прозвучит?
Yandex
Объявления
04.01.2011, 18:09     Сложение и умножение матриц
Ответ Создать тему
Опции темы

Текущее время: 08:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru