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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 37, средняя оценка - 5.00
adamo86
2 / 2 / 0
Регистрация: 10.04.2011
Сообщений: 185
#1

Как создать двумерный "вектор"? - C++

28.08.2011, 15:38. Просмотров 4968. Ответов 5
Метки нет (Все метки)

Не знаю даже правильно ли назвал "двумерный вектор", скорее всего же "двумерный массив". Короче необходим двумерный STL-массив. Этот массив должен быть динамическим, поэтому я собственно и выбрал векторы. Необходимо, чтобы я мог работать с этим массивов таким образом:
C++
1
2
3
v[0][0] = 1;
v[1][0] = 1;
v[1][1] = 0;
Как мне это осуществить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.08.2011, 15:38     Как создать двумерный "вектор"?
Посмотрите здесь:

Создать класс "Вектор в двумерном евклидовом пространстве" - C++
Здравствуйте! подскажите пожалуйста, кто может:help: Составить описание класса. Определить конструктор по умолчанию, конструктор с...

Создать класс "Двумерный массив" - C++
Создать класс, в котором объектом является двумерный массив размером n x m

Двумерный массив: Добавить методы "ДайЗначениеЯчейки", "УстановиЗначениеЯчейки" - C++
Нужно добавить методы ДайЗначениеЯчейки(индексРяда, индексКолонки), УстановиЗначениеЯчейки(индексРяда, индексКолонки, значение). ...

Композиция классов "Матрица" и "Вектор" - C++
Люди добрые, здравствуйте. недавно в одной из тем был выложен вот такой класс вектор: на основе этого класса нужно разработать класс...

Как написать класс "вектор" на С++ - C++
Нужно написать класс для нумерации элементов вектора не с 0, а любыми символами.... К примеру в паскалеподобных языках такое осуществимо....

Как вставить в двумерный массив "1" случайным образом? - C++
В двумерный массив определенного диапазона (рандомная формула не проблема) нужно вставить число 1, причем случайным образом. Есть ли...

Расскажите пожалуйста про оператор "class" из учебника понял только как создать, как сделать содержимое открытым/закрытым... - C++
Расскажите пожалуйста про оператор "class" из учебника понял только как создать, как сделать содержимое открытым/закрытым... ...

Создать класс Account. Задача из книги Дейтелов "Как програмировать на С++" - C++
Начал изучение С++, прочитал главу "Введение в классы и объекты" в книге Дейтелов "Как програмировать на С++", ничего не поняв прочитал её...

Как создать виртуальный метод на С++ без использования слова "virtual"? - C++
ключевого слова "virtual"?

как создать "тип в типе" - C++
Всем, привет! Изучаю STL. Такая строчка кода list<int>:: interator it; вызвала у меня вопрос: а как мы можем сделать так, что бы в...

Класс "Вектор", меню для демонстрации его возможностей - C++
Ребят, помоги разобраться с переменными, не могу сообразить. Там в классе конструктор со встроенными параметрами для 1-го вектора... и 2-ой...

Динамическая структура данных(контейнер) типа "Вектор" - C++
Здравствуйте, у меня вот какая проблема:задали лабораторную работу, но я что то никак не могу понять как ее делать, дело в том, что в ней...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LosAngeles
Заблокирован
28.08.2011, 15:40     Как создать двумерный "вектор"? #2
vector<vector<int>>
adamo86
2 / 2 / 0
Регистрация: 10.04.2011
Сообщений: 185
28.08.2011, 17:56  [ТС]     Как создать двумерный "вектор"? #3
А как будет выглядеть функция, которая в качестве параметра, будет принимает двумерный вектор?
nameless
Эксперт C++
333 / 297 / 14
Регистрация: 16.06.2009
Сообщений: 486
28.08.2011, 18:01     Как создать двумерный "вектор"? #4
adamo86,

C++
1
2
3
void function( const std::vector <std::vector <int> > & matrix ) {
    .....
}
Петррр
5942 / 3379 / 335
Регистрация: 28.10.2010
Сообщений: 5,926
28.08.2011, 18:04     Как создать двумерный "вектор"? #5
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
#include <vector>
#include <iostream>
 
using std::vector;
using std::cout;
 
void function(vector<vector<int>> &dvec)
{
    for(int i = 0; i < 10; i++)
    {
        vector<int> vec;
        for(int j = 0; j < 10; j++)
            vec.push_back(i);
        dvec.push_back(vec);
    }
}
 
int main()
{
    vector<vector<int>> dvec;
    function(dvec);
    for(int i = 0; i < dvec.size(); i++)
    {
        for(int j = 0; j < dvec[i].size(); j++)
            cout << dvec[i][j] << " ";
        cout << "\n";
    }
    system("pause");
    return 0;
}
Сыроежка
Заблокирован
28.08.2011, 18:32     Как создать двумерный "вектор"? #6
Для печати вектора векторов можно воспользоваться стандартными алгоритмами

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include   <iostream>
#include   <vector>
#include   <algorithm>
 
struct PrintVector : public std::unary_function<std::vector<int>, void>
{
   void operator ()( const std::vector<int> &v ) const
   {
      std::copy( v.begin(), v.end(), std::ostream_iterator<int>( std::cout, " " ) );
      std::cout << std::endl;
   }
};
 
int main()
{
   std::vector<std::vector<int> > v;
 
   // заполнение вектора каким-нибудь образом
 
   std::for_each( v.begin(), v.end(), PrintVector() );
}
Я не проверял код, но в принципе должен работать.
Yandex
Объявления
28.08.2011, 18:32     Как создать двумерный "вектор"?
Ответ Создать тему
Опции темы

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