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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
#1

vector<vector <bool> > - C++

31.10.2011, 00:32. Просмотров 1118. Ответов 14
Метки нет (Все метки)

C++
1
2
3
4
5
6
vector<vector <bool> > v1;
bool v2[2][2] = 
{
   {1,1},
   {1,1},
};
как v1 присвоить v2?

Добавлено через 1 минуту
в c++11 есть вписки инициализации для векторов,
а как попроще сделать в даном случае без них
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2011, 00:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос vector<vector <bool> > (C++):

bool vector - C++
#include &lt;iostream&gt; using namespace std; #include &lt;vector&gt; int main() { vector&lt;bool&gt; myBool(10);

error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Vector<int>::Vector<int>(void)" (?0?$Vector@H@@QAE@XZ) в функции _main - C++
//Vector.h #include &lt;iostream&gt; #include &lt;Windows.h&gt; #include &lt;climits&gt; #include &lt;vector&gt; #include &lt;stdlib.h&gt; #include &lt;fstream&gt;...

vector<bool> утверждение - C++
друзья! Страутструп утверждает что проще пареной репы. подскажите как? что то в голову не идет. Как сделать так чтобы элемент вектор бул...

Vector<bool> и visual c++ - C++
Приветствую, пытаюсь адаптировать консольный исходник алгоритма Хаффмана в форменное приложение visual Studio 2005 c++. Объявляю вначале...

Как можно увеличить размер вектора, который является элементом вектора vector<vector<int>>arr(n, vector <int>) - C++
Написал программу, которая создает вектор 'а' векторов 'b', вектора 'b' содержат 2 числа. Стало интересно, как нужно изменить программу...

Упаковка std :: vector <bool> в байты - C++
Добрый Вечер! возникла проблема: нужно элементы std::vector&lt;bool&gt; упаковать в байты для последующей записи в файл собственно,...

14
Jupiter
Каратель
Эксперт С++
6556 / 3977 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
31.10.2011, 00:34 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <vector>
 
int main()
{
    bool v2[2][2] = 
   {
       { true, false },
       { true, false },
    };
 
    std::vector<std::vector <bool> > v1(v2[0], v2[1]);
}
1
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
31.10.2011, 00:42  [ТС] #3
C++
1
2
3
4
5
6
7
bool fTemp[3][4] =
            {
                {0,1,1,0},
                {1,0,0,1},
                {0,1,1,0},
            };
vector<vector<bool> > temp;
а для такого случая?
0
Jupiter
Каратель
Эксперт С++
6556 / 3977 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
31.10.2011, 00:45 #4
точно так же
C++
1
2
3
4
5
6
7
bool fTemp[3][4] =
                        {
                                {0,1,1,0},
                                {1,0,0,1},
                                {0,1,1,0},
                        };
std::vector<std::vector<bool> > temp(fTemp[0], fTemp[2]);
0
aeshes
440 / 203 / 13
Регистрация: 07.10.2011
Сообщений: 462
31.10.2011, 00:46 #5
Если по аналогии с предыдущим случаем, то наверное, std::vector<std::vector <bool> > v1(fTemp[0], fTemp[1], fTemp[2]);
0
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
31.10.2011, 00:49  [ТС] #6
aeshes, ругается на такое
0
Jupiter
Каратель
Эксперт С++
6556 / 3977 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
31.10.2011, 00:53 #7
C++
1
2
3
4
5
6
7
bool fTemp[3][4] =
                        {
                                {0,1,1,0},
                                {1,0,0,1},
                                {0,1,1,0},
                        };
std::vector<std::vector<bool> > temp(fTemp[0], fTemp[3])
0
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
31.10.2011, 00:53 #8
aeshes, Таки вектор принимает итераторы на начало и конец последовательности.
1
aeshes
440 / 203 / 13
Регистрация: 07.10.2011
Сообщений: 462
31.10.2011, 00:54 #9
А, точно. Нужно ж диапазон указывать. Протупила, да
0
Jupiter
Каратель
Эксперт С++
6556 / 3977 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
31.10.2011, 01:11 #10
Mayonez, таки я протупил, оно создает 12 векторов с одним элементом вместо 3-х с 4-мя элементами
0
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
31.10.2011, 01:18  [ТС] #11
о нет,
0
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
31.10.2011, 01:37 #12
Цитата Сообщение от Mayonez Посмотреть сообщение
о нет,
Mayonez, а может полностью задачу раскроете, может окажется что и не нужно использовать vector<vector <bool> > v1;
0
greeezz
272 / 165 / 4
Регистрация: 10.07.2011
Сообщений: 441
31.10.2011, 02:09 #13
так пойдет?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  const int r = 3;
  const int c = 4;
  bool fTemp[r][c] =
                        {
                                {1,0,1,0},
                                {0,1,0,1},
                                {1,0,1,0},
                        };
 
  vector<std::vector<bool> > temp(r, c);
  for(int i = 0; i < 3; ++i){
      for(int j = 0; j<4;++j){
          temp[i][j] = fTemp[i][j];
      }
  }
0
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
31.10.2011, 15:09  [ТС] #14
greeezz, я так и делал, но думал есть вариант попроще
0
Nameless One
Эксперт С++
5774 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
31.10.2011, 16:35 #15
С использованием C++11 (initializer list, range-based for):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <cstdlib>
#include <iostream>
#include <vector>
 
int main()
{
    std::vector<std::vector<bool>> b =
    {
        {true, false}, {false, true}
    };
 
    for(const auto& a: b)
    {
    for(bool x: a)
    {
        std::cout << std::boolalpha << x << "\t";
    }
    
    std::cout << std::endl;
    }
             
    return 0;
}
И да, возможно, тут лучше заюзать bitset
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2011, 16:35
Привет! Вот еще темы с ответами:

Ошибка при использовании vector<bool> - C++
Текст ошибки (Visual studio 2013): Ошибка 2 error C2440: return: невозможно преобразовать...

Примерная реализация std vector bool - C++
добрый вечер, не могу найти в сети реализацию st::vector&lt;bool&gt; - есть у кого под рукой?) Почитать)

Vector <bool> erase iterator outside range - C++
Помогите, пожалуйста. При компиляции появляется ошибка (фото ниже). Это реализация алгоритма Хаффмана. Не могу понять, что не так, по...

Как в vector поместить double, bool? - C++
#include &lt;stdio.h&gt; #include &lt;vector&gt; using namespace std; void main() { vector&lt;int&gt; vec; double t = -12.34; bool b =...


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

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

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