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

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

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

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

23.02.2014, 12:10. Просмотров 480. Ответов 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;
        }
    }
}
правильный ли алгоритм перемножения двух матриц, выдает просто что то такое:
0
Миниатюры
Перемножение двух матриц  
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2014, 12:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перемножение двух матриц (C++):

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

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

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zss
Модератор
Эксперт С++
6380 / 5945 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
23.02.2014, 12:26 #2
Алгоритм правильный, только матрицу с надо передать в вызывающую программу.
Иначе, зачем ее тогда вообще делать
C++
1
void Multiplication(int a[5][5], int b[5][5],int c[5][5])
1
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;
}
1
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
23.02.2014, 12:34  [ТС] #4
zss, исправил как Вы сказали, но все равно как вектор выдает...не должна ли матрица получится??
0
Миниатюры
Перемножение двух матриц  
S_el
2100 / 1611 / 308
Регистрация: 15.12.2013
Сообщений: 6,451
23.02.2014, 12:37 #5
Цитата Сообщение от RayPas Посмотреть сообщение
исправил как Вы сказали, но все равно как вектор выдает...не должна ли матрица получится??
А вы пробелы при выводе ставить не пробывали?
0
Progers
New to C++
83 / 44 / 5
Регистрация: 14.01.2013
Сообщений: 258
23.02.2014, 12:39 #6
Вот так должно получится.
0
Миниатюры
Перемножение двух матриц  
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
23.02.2014, 12:43  [ТС] #7
Progers , так не выходит почему-то...
0
Progers
New to C++
83 / 44 / 5
Регистрация: 14.01.2013
Сообщений: 258
23.02.2014, 12:44 #8
RayPas, Вы используйте код, который я вам скинул? И можете приложить скриншот вашего вывода?
0
S_el
2100 / 1611 / 308
Регистрация: 15.12.2013
Сообщений: 6,451
23.02.2014, 12:44 #9
Цитата Сообщение от RayPas Посмотреть сообщение
Progers , так не выходит почему-то...
У Progers, выводит все правильно.Сравните его код с со своим.
0
Progers
New to C++
83 / 44 / 5
Регистрация: 14.01.2013
Сообщений: 258
23.02.2014, 12:46 #10
Visual Studio 2013, выводит правильно. Если вы используйте студию, не забудьте добавить
C++
1
system("PAUSE"); // в конец программы.
0
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
23.02.2014, 12:51  [ТС] #11
дада, Исправил как ВЫ сказали, Progers, всё заработало! Спасибо!
0
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++
Делаю перемножение матриц. В результате выдает некорректные числа #include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;conio.h&gt; ...

Перемножение 2-ух матриц - C++
Помогите пожалуйста с перемножением 2-ух матриц? в долгу не останусь) Выделение памяти написал, а вот как использовать с умножением, и...

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
23.02.2014, 12:51
Ответ Создать тему
Опции темы

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