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

vector<vector <bool> > - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
31.10.2011, 00:32     vector<vector <bool> > #1
C++
1
2
3
4
5
6
vector<vector <bool> > v1;
bool v2[2][2] = 
{
   {1,1},
   {1,1},
};
как v1 присвоить v2?

Добавлено через 1 минуту
в c++11 есть вписки инициализации для векторов,
а как попроще сделать в даном случае без них
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2011, 00:32     vector<vector <bool> >
Посмотрите здесь:

C++ vector<bool> утверждение
Как в vector поместить double, bool? C++
VisualStudio C++ vector<vector<int> > push_back() C++
Ребята есть ли метод vector <bool> записать в бинарный файл? C++
C++ bool vector
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
31.10.2011, 00:34     vector<vector <bool> > #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]);
}
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
31.10.2011, 00:42  [ТС]     vector<vector <bool> > #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;
а для такого случая?
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
31.10.2011, 00:45     vector<vector <bool> > #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]);
aeshes
 Аватар для aeshes
437 / 200 / 13
Регистрация: 07.10.2011
Сообщений: 462
31.10.2011, 00:46     vector<vector <bool> > #5
Если по аналогии с предыдущим случаем, то наверное, std::vector<std::vector <bool> > v1(fTemp[0], fTemp[1], fTemp[2]);
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
31.10.2011, 00:49  [ТС]     vector<vector <bool> > #6
aeshes, ругается на такое
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
31.10.2011, 00:53     vector<vector <bool> > #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])
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
31.10.2011, 00:53     vector<vector <bool> > #8
aeshes, Таки вектор принимает итераторы на начало и конец последовательности.
aeshes
 Аватар для aeshes
437 / 200 / 13
Регистрация: 07.10.2011
Сообщений: 462
31.10.2011, 00:54     vector<vector <bool> > #9
А, точно. Нужно ж диапазон указывать. Протупила, да
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
31.10.2011, 01:11     vector<vector <bool> > #10
Mayonez, таки я протупил, оно создает 12 векторов с одним элементом вместо 3-х с 4-мя элементами
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
31.10.2011, 01:18  [ТС]     vector<vector <bool> > #11
о нет,
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
31.10.2011, 01:37     vector<vector <bool> > #12
Цитата Сообщение от Mayonez Посмотреть сообщение
о нет,
Mayonez, а может полностью задачу раскроете, может окажется что и не нужно использовать vector<vector <bool> > v1;
greeezz
272 / 165 / 4
Регистрация: 10.07.2011
Сообщений: 441
31.10.2011, 02:09     vector<vector <bool> > #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];
      }
  }
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
31.10.2011, 15:09  [ТС]     vector<vector <bool> > #14
greeezz, я так и делал, но думал есть вариант попроще
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2011, 16:35     vector<vector <bool> >
Еще ссылки по теме:

C++ Упаковка std :: vector <bool> в байты
C++ Ошибка при использовании vector<bool>
Vector<bool> и visual c++ C++

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

Или воспользуйтесь поиском по форуму:
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,390
31.10.2011, 16:35     vector<vector <bool> > #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
Yandex
Объявления
31.10.2011, 16:35     vector<vector <bool> >
Ответ Создать тему
Опции темы

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