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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
#1

Перемножение двух матриц - C++

23.02.2014, 12:10. Просмотров 472. Ответов 10
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int Multiplication(int a[5][5], int b[5][5]) {
    cout << "***********Result***********" << endl;
    int c[5][5];
    for(int i = 0; i < 5; i++) // i = ряд матрицы a
    {
        for(int j = 0; j < 5; j++) // j = столбец матрицы b
        {
            int skalaar = 0;
            for(int k = 0; k < 5; k++)
                skalaar += a[i][k] * b[k][j];
            c[i][j] = skalaar;
            cout << c[i][j] << endl;
            return 0;
        }
    }
}
правильный ли алгоритм перемножения двух матриц, выдает просто что то такое:
Миниатюры
Перемножение двух матриц  
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2014, 12:10     Перемножение двух матриц
Посмотрите здесь:

Перемножение двух матриц - C++
Yo. У меня проблема с перемножением. Код конечно же написал, но вот в чем проблема. Когда я ввожу элементы матрицы В ( а это 2 матрица), но...

Перемножение двух матриц - C++
Собственно задачка: Написать программу перемножения двух матриц. Найти вид функции сложности алгоритма. 2 пункт не обязателен, а...

Перемножение двух матриц - C++
Написать программу перемножения двух матриц. Использовать динамические массивы. Вот код, но это при условии, что N у всех трех матриц...

Перемножение двух матриц - C++
Приет.Ребята подскажите как перемножить две матрицы разных размеров используя динамический массив Вот код который получился у меня: ...

Перемножение двух квадратных целочисленных матриц - C++
Помогите написать прогу: Написать подпрограмму void mult(int a, int b, int c, int N); для перемножения двух квадратных...

Перемножение двух матриц. В ответе большие отрицательные числа - C++
Код написан верно, но при расчете выдает странный результат. Вместо правильных ответов, он прибавляет их к числу -858993460. Чем это...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,181
Завершенные тесты: 1
23.02.2014, 12:26     Перемножение двух матриц #2
Алгоритм правильный, только матрицу с надо передать в вызывающую программу.
Иначе, зачем ее тогда вообще делать
C++
1
void Multiplication(int a[5][5], int b[5][5],int c[5][5])
Progers
New to C++
83 / 44 / 5
Регистрация: 14.01.2013
Сообщений: 258
23.02.2014, 12:29     Перемножение двух матриц #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вот накидал не слишком красивый код.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <iostream>
#include <iomanip>
using namespace std;
 
void Multiplication(int a[5][5], int b[5][5]) {
    int c[5][5];
    for(int i = 0; i < 5; i++) // i = ряд матрицы a
    {
        for(int j = 0; j < 5; j++) // j = столбец матрицы b
        {
          c [i][j] = a[i][j] * b[i][j];
        }
    }
    cout << "*************************************Result************************************" << endl;
    for(int i = 0; i < 5; i++) // i = ряд матрицы a
    {
        for(int j = 0; j < 5; j++) // j = столбец матрицы b
        {
          cout << setw(15) << c[i][j] << setw(15);
        }
        cout << endl;
    }
}
 
int main()
{
 
   int k[5][5] =
    {
        {5,4,3,2,1},
        {5,4,3,2,1},
        {5,4,3,2,1},
        {5,4,3,2,1},
        {5,4,3,2,1},
    };
    int l[5][5] =
    {
        {3,4,3,10,6},
        {5,4,3,2,1},
        {5,4,3,2,1},
        {5,6,3,6,1},
        {5,4,5,2,1},
    };
    Multiplication(k,l);
    return 0;
}
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
23.02.2014, 12:34  [ТС]     Перемножение двух матриц #4
zss, исправил как Вы сказали, но все равно как вектор выдает...не должна ли матрица получится??
Миниатюры
Перемножение двух матриц  
S_el
2092 / 1599 / 306
Регистрация: 15.12.2013
Сообщений: 6,427
23.02.2014, 12:37     Перемножение двух матриц #5
Цитата Сообщение от RayPas Посмотреть сообщение
исправил как Вы сказали, но все равно как вектор выдает...не должна ли матрица получится??
А вы пробелы при выводе ставить не пробывали?
Progers
New to C++
83 / 44 / 5
Регистрация: 14.01.2013
Сообщений: 258
23.02.2014, 12:39     Перемножение двух матриц #6
Вот так должно получится.
Миниатюры
Перемножение двух матриц  
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
23.02.2014, 12:43  [ТС]     Перемножение двух матриц #7
Progers , так не выходит почему-то...
Progers
New to C++
83 / 44 / 5
Регистрация: 14.01.2013
Сообщений: 258
23.02.2014, 12:44     Перемножение двух матриц #8
RayPas, Вы используйте код, который я вам скинул? И можете приложить скриншот вашего вывода?
S_el
2092 / 1599 / 306
Регистрация: 15.12.2013
Сообщений: 6,427
23.02.2014, 12:44     Перемножение двух матриц #9
Цитата Сообщение от RayPas Посмотреть сообщение
Progers , так не выходит почему-то...
У Progers, выводит все правильно.Сравните его код с со своим.
Progers
New to C++
83 / 44 / 5
Регистрация: 14.01.2013
Сообщений: 258
23.02.2014, 12:46     Перемножение двух матриц #10
Visual Studio 2013, выводит правильно. Если вы используйте студию, не забудьте добавить
C++
1
system("PAUSE"); // в конец программы.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.02.2014, 12:51     Перемножение двух матриц
Еще ссылки по теме:

Реализовать перемножение двух матриц 2х2 на основании данных варианта задания - C++
2. Реализовать перемножение двух матриц 2х2 на основании данных варианта задания(1 2 3 4 5 6 7 8 ). Результат в виде таблицы значений...

нереальное перемножение матриц. - C++
Подскажите пожалуйста алгоритм Смысл следуйщий: даны две треугольные матрицы(под главной диагональю только нули), которые необходимо...

TBB перемножение матриц - C++
доброго времени. пытаюсь переделать умножение векторов на премножение матриц, выдает ошибку Ошибка 2 error C2660:...

многопточное перемножение матриц - C++
Решил проверить многопоточность при построчном перемножении матриц. Создал программку(проект в аттаче), в которой можно задать размер...


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

Или воспользуйтесь поиском по форуму:
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
23.02.2014, 12:51  [ТС]     Перемножение двух матриц #11
дада, Исправил как ВЫ сказали, Progers, всё заработало! Спасибо!
Yandex
Объявления
23.02.2014, 12:51     Перемножение двух матриц
Ответ Создать тему
Опции темы

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