Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
NikBond
2 / 2 / 2
Регистрация: 21.07.2015
Сообщений: 36
1

Вектор векторов инициализация

12.11.2015, 01:33. Просмотров 828. Ответов 6
Метки нет (Все метки)

Вопрос по поводу работы с двумерными векторами("матрицами").
Например, необходимо создать матрицу 10х10 и инициализировать её 1-чками.

Для одномерного массива это
C++
1
vector <int> myVect(10, 1);
А для двумерного?
C++
1
 vector <vector <int> > myVect(10, vector <int> (10, 1) );
Выглядит громоздко и, судя по всему, неверно. Подскажите, как надо.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2015, 01:33
Ответы с готовыми решениями:

инициализация векторов
Даны массивы ai={1,2,3}; ai2={1,2,5,6,7}; ai3={12,56,98}; vector&lt;int&gt;svec,...

Инициализация элементов вектор
В программе создается вектор и первому элементу вектора присваивается объект...

Вектор векторов
Вектор векторов - плюсы и минусы, альтернативы. Подскажите новичку) P.S....

Вектор векторов
Хочу создать вектор, содержащий векторы, которые содержат строки. Написал такой...

Вектор векторов
Нужно научиться создавать вектор в векторе, нашёл такой сайт но остались...

6
rikimaru2013
C++ Game Dev
2472 / 1141 / 348
Регистрация: 30.11.2013
Сообщений: 3,709
12.11.2015, 01:53 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
#include <iostream>
#include <vector>
using namespace std;
 
int main()
{
    typedef std::vector<int> ArrayLine;
    typedef std::vector<ArrayLine> MyArray;
 
    MyArray myVect;
 
    const int size = 10;
    const int defaultValue = 1;
 
    myVect.reserve(size);
    for(int i = 0; i < size; ++i)
        myVect.emplace_back(ArrayLine(size, defaultValue)); 
 
    for(auto& outIt : myVect)
    {
        for(auto& inIt : outIt)
            cout << inIt << " ";
        cout << endl;
    }
 
}
1
Dimension
Dimension
573 / 443 / 221
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
12.11.2015, 02:07 3
Цитата Сообщение от NikBond Посмотреть сообщение
Выглядит громоздко и, судя по всему, неверно. Подскажите, как надо.
у вас правильно
1
pproger
165 / 68 / 17
Регистрация: 22.03.2011
Сообщений: 196
12.11.2015, 02:10 4
NikBond,
C++
1
2
3
4
5
6
7
8
9
10
11
    vector<vector<int>> v = {
        { 1, 2, 3, 4, 5 },
        { 6, 7, 8, 9, 0 },
    };
 
    for (auto i : v) {
        for (auto j : i) {
            cout << j << " ";
        }
        cout << endl;
    }
1
NikBond
2 / 2 / 2
Регистрация: 21.07.2015
Сообщений: 36
12.11.2015, 23:02  [ТС] 5
Спасибо всем.
Еще вопрос в догонку. Как обходить двумерные вектора в цикле без range-based for?

Вот здесь, к примеру, что писать в условии внутреннего цикла?

C++
1
2
3
4
 
for(int i; i < myVect.size(); i++){
    for(int j; j < /* что здесь? */; j++){
}
0
rikimaru2013
C++ Game Dev
2472 / 1141 / 348
Регистрация: 30.11.2013
Сообщений: 3,709
12.11.2015, 23:13 6
Лучший ответ Сообщение было отмечено NikBond как решение

Решение

C++
1
myVect[i].size()
1
sourcerer
Модератор
Эксперт CЭксперт С++
4868 / 2053 / 325
Регистрация: 20.02.2013
Сообщений: 5,556
Записей в блоге: 24
Завершенные тесты: 1
13.11.2015, 10:42 7
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
myVect[i].size()
И чтобы компилятор ворнинги не кидал, тип счётчиков лучше сделать size_t:
C++
1
2
3
4
5
for(size_t i; i < myVect.size(); i++)
    for(size_t j; j < myVect[i].size(); j++)
    {
        // some code
    }
0
13.11.2015, 10:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2015, 10:42

вектор векторов - умножение
У меня есть: vector&lt;std::vector&lt;double&gt;&gt; a std::vector&lt;double&gt; b мне нужно...

Вектор векторов строк
День добрый! Вопрос такой: есть txt файл, его я считываю построчно, заношу...

Транспонировать вектор векторов
Есть кусочек кода, который генерирует вектор векторов matrix, как можно...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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