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

вектор векторов - умножение - C++

Восстановить пароль Регистрация
 
iryde
0 / 0 / 0
Регистрация: 02.01.2013
Сообщений: 15
09.05.2013, 22:35     вектор векторов - умножение #1
У меня есть:
vector<std::vector<double>> a
std::vector<double> b
мне нужно умножить ветора вектора векторов vector<std::vector<double>> a с элементами вектора std::vector<double> b.

То есть нужно сделать приблизительно следующее:
с[j][i] = a_[j][i]*b_[j];

Как это сделать?
Буду благодарен за любую помощь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2013, 22:35     вектор векторов - умножение
Посмотрите здесь:

C++ Умножение матрицы на вектор
вектор векторов C++
Вектор векторов C++
C++ Вектор векторов
C++ Умножение векторов
Умножение матрицы на вектор C++
Не получается сделать умножение векторов, вычитание и проверку на неравенство C++
Вектор векторов - не компилируется код C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cyberbrain1000
 Аватар для cyberbrain1000
23 / 23 / 3
Регистрация: 15.04.2013
Сообщений: 62
10.05.2013, 00:03     вектор векторов - умножение #2
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 <stdlib.h>
#include <vector>
#include <iomanip>
 
typedef std::vector<double> dvector;
typedef std::vector<dvector> dmatrix;
 
dmatrix MultipleDmatrixToDvector(dmatrix const& matrix, dvector const& vec)
{
    dmatrix matrixres;
    dvector vecres;
    for(dmatrix::const_iterator mcib(matrix.begin()); mcib != matrix.end(); ++mcib)
    {
        for(dvector::const_iterator vcib(mcib->begin()); vcib != mcib->end(); ++vcib)
        {
            vecres.push_back(*vcib * vec.at(mcib - matrix.begin()));
        }
        matrixres.push_back(vecres);
        vecres.clear();
    }
    return matrixres;
}
 
void MatrixToCout(dmatrix const& matrix)
{
    for(dmatrix::const_iterator mcib(matrix.begin()); mcib != matrix.end(); ++mcib)
    {
        for(dvector::const_iterator vcib(mcib->begin()); vcib != mcib->end(); ++vcib)
        {
            std::cout << std::setw(11) << std::left << *vcib;
        }
        std::cout << "\n\n";
    }
}
 
int main()
{
    dmatrix matrix = {{1,2,3},{4,5,6}};
    dvector vec = {5, 10};
    MatrixToCout(MultipleDmatrixToDvector(matrix, vec));
    system("pause");
    return 0;
}
Yandex
Объявления
10.05.2013, 00:03     вектор векторов - умножение
Ответ Создать тему
Опции темы

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