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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
Mikooo
 Аватар для Mikooo
2 / 2 / 0
Регистрация: 24.02.2011
Сообщений: 74
#1

Умножение матриц - C++

08.03.2011, 18:29. Просмотров 1777. Ответов 21
Метки нет (Все метки)

надо получить матрицу А*В
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2011, 18:29     Умножение матриц
Посмотрите здесь:

C++ Умножение матриц
Умножение матриц C++
C++ Умножение матриц
Умножение матриц C++
C++ Умножение матриц
Умножение матриц C++
Умножение 3 матриц C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IrineK
Заблокирован
08.03.2011, 19:12     Умножение матриц #2
C++
1
2
3
4
5
6
7
8
9
10
.....
 
for(i=0;i<N;i++)
    for(j=0;j<N;j++)
        {
        C[i][j]=0.0;
        for(k=0;k<N;k++)
            C[i][j]+=A[i][k]*B[k][j];
        }
......
Mikooo
 Аватар для Mikooo
2 / 2 / 0
Регистрация: 24.02.2011
Сообщений: 74
08.03.2011, 19:17  [ТС]     Умножение матриц #3
оно должно быть С=А*В
Петррр
 Аватар для Петррр
5927 / 3364 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
08.03.2011, 19:18     Умножение матриц #4
На сколько помню с точки зрения математики перменожение матриц - это не просто умножение каждого члена на каждый член из другой матрицы
Mikooo
 Аватар для Mikooo
2 / 2 / 0
Регистрация: 24.02.2011
Сообщений: 74
08.03.2011, 19:18  [ТС]     Умножение матриц #5
а можеш написать программу полнастью
IrineK
Заблокирован
08.03.2011, 19:19     Умножение матриц #6
оно должно быть С=А*В
Что я тебе и отправила
Петррр
 Аватар для Петррр
5927 / 3364 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
08.03.2011, 19:26     Умножение матриц #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
ты кому говоришь?

Добавлено через 6 минут
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 <conio.h>
 
int main()
{
    int a[5][5];
    int b[5][5];
    int c[5][5];
    int i, j;
    for(i = 0; i < 5; i++)
        for(j = 0; j < 5; j++)
        {
            a[i][j] = rand();
            b[i][j] = rand();
        }
 
    for(i = 0; i < 5; i++)
    {
        for(j =0; j < 5; j++)
        {
            std::cout << a[i][j] << " ";
        }
        std::cout << std::endl;
    }
    std::cout << "\n-------------\n";
    for(i = 0; i < 5; i++)
    {
        for(j =0; j < 5; j++)
        {
            std::cout << b[i][j] << " ";
        }
        std::cout << std::endl;
    }
    std::cout << "\n-------------\n";
    for(i = 0; i < 5; i++)
    {
        for(j =0; j < 5; j++)
        {
            c[i][j] = a[i][j] * b[i][j];
            std::cout << c[i][j] << " ";
        }
        std::cout << std::endl;
    }
    _getch();
    return 0;
}
IrineK
Заблокирован
08.03.2011, 19:27     Умножение матриц #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
ОК, вот как можно проще:
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
#include <iostream>
#include <time.h>
#define N 3
using namespace std;
 
void showAr(double Ar[][N])
{int v,w;
for(v=0;v<N;v++)
{ for(w=0;w<N;w++)
        cout<<Ar[v][w]<<" ";
cout<<endl;
}
cout<<endl;
}
 
int main()
{
    srand(time(NULL));
    double A[N][N],B[N][N],C[N][N];
    int i,j,k;
    for(i=0;i<N;i++)
            for(j=0;j<N;j++)
            {   A[i][j]=rand()%20+1;
                B[i][j]=rand()%20+1;
            }
    cout<<"Array A:\n";
        showAr(A);
    cout<<"Array B:\n";
        showAr(B);
    
    for(i=0;i<N;i++)
            for(j=0;j<N;j++)
            {
                C[i][j]=0.0;
                for(k=0;k<N;k++)
                    C[i][j]+=A[i][k]*B[k][j];
            }
    
    cout<<"Array C:\n";
        showAr(C);
 
    cin.get();
    return 0;
}
Вопросы, Mikooo?
Спрашивай. Отвечу ответы.
asics
Freelance
Эксперт C++
 Аватар для asics
2842 / 1779 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
08.03.2011, 19:29     Умножение матриц #9
Цитата Сообщение от Петррр Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
for(i = 0; i < 5; i++)
 {
 for(j =0; j < 5; j++)
{
 c[i][j] = a[i][j] * b[i][j];
 std::cout << c[i][j] << " ";
 }
 std::cout << std::endl;
}
Разве это верно ?
IrineK
Заблокирован
08.03.2011, 19:29     Умножение матриц #10
Петррр
У вас ошибка - элементы матрицы С равны не просто произведению соответствуюших элементов А и В, а свертке по строке и столбцу.
Петррр
 Аватар для Петррр
5927 / 3364 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
08.03.2011, 19:33     Умножение матриц #11
а что не так?

Добавлено через 59 секунд
Цитата Сообщение от Петррр Посмотреть сообщение
На сколько помню с точки зрения математики перменожение матриц - это не просто умножение каждого члена на каждый член из другой матрицы
я написал.

Mikooo, по этому поводу промолчал(а)
asics
Freelance
Эксперт C++
 Аватар для asics
2842 / 1779 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
08.03.2011, 19:34     Умножение матриц #12
Цитата Сообщение от Петррр Посмотреть сообщение
а что не так?
Все http://ru.wikipedia.org/wiki/%D0%A3%...BD.D0.B8.D0.B5
Петррр
 Аватар для Петррр
5927 / 3364 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
08.03.2011, 19:34     Умножение матриц #13
поэтому я пошел легким путем
silent_1991
08.03.2011, 19:35
  #14

Не по теме:

Цитата Сообщение от Петррр Посмотреть сообщение
Mikooo, по этому поводу промолчал(а)
Он и мне на пожелание удачи не ответил, и что теперь?

Петррр
 Аватар для Петррр
5927 / 3364 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
08.03.2011, 19:36     Умножение матриц #15
asics, спасибо по математике слава богу 5

Добавлено через 42 секунды
Цитата Сообщение от silent_1991 Посмотреть сообщение
и что теперь
ничего.. раз не отвечает значит умный и пускай делает сам
asics
Freelance
Эксперт C++
 Аватар для asics
2842 / 1779 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
08.03.2011, 19:36     Умножение матриц #16
Цитата Сообщение от Петррр Посмотреть сообщение
поэтому я пошел легким путем
Это не то что легкий путь, это по определению, не правилный путь.

Добавлено через 22 секунды
Цитата Сообщение от Петррр Посмотреть сообщение
спасибо по математике слава богу 5
Я бы так не сказал.
Петррр
 Аватар для Петррр
5927 / 3364 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
08.03.2011, 19:38     Умножение матриц #17
ты мне не веришь. хочешь зачетку отсканю?
silent_1991
08.03.2011, 19:39
  #18

Не по теме:

Цитата Сообщение от Петррр Посмотреть сообщение
по математике слава богу 5
Только вы зачем-то пытаетесь это скрыть за неверным алгоритмом)))

asics
Freelance
Эксперт C++
 Аватар для asics
2842 / 1779 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
08.03.2011, 19:40     Умножение матриц #19
Цитата Сообщение от Петррр Посмотреть сообщение
ты мне не веришь. хочешь зачетку отсканю?
Та ладно, пошутил же.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2011, 19:40     Умножение матриц
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Петррр
 Аватар для Петррр
5927 / 3364 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
08.03.2011, 19:40     Умножение матриц #20
мне не трудно
Yandex
Объявления
08.03.2011, 19:40     Умножение матриц
Ответ Создать тему
Опции темы

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