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

Как правильно записать число в вектор, который состоит из векторов? - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
12.08.2013, 10:02     Как правильно записать число в вектор, который состоит из векторов? #1
Что-то никак не соображу.
Каждый элемент - это вектор...

C++
1
2
3
std::vector< std::vector<int> >     v;
...
v[0] = 1; // error C2679: бинарный "=": не найден оператор, принимающий правый операнд типа "int" (или приемлемое преобразование отсутствует)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.08.2013, 10:02     Как правильно записать число в вектор, который состоит из векторов?
Посмотрите здесь:

как создать вектор из векторов и как потом к нему обращаться? C++
Создать абстрактный тип данных (структура) - вектор, который имеет указатель на short и число элементов C++
C++ Как правильно объявить константы для всего проекта, который состоит из нескольких файлов
C++ задан вектор С, который состоит из 12 действительных чисел. Сформировать вектор D, нечетные элементы которого есть целая часть нечетных
Сформировать вектор, в который записать номера строк, в которых все элементы массива одинаковы. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
yleart
 Аватар для yleart
60 / 45 / 1
Регистрация: 07.10.2011
Сообщений: 139
12.08.2013, 10:06     Как правильно записать число в вектор, который состоит из векторов? #2
C++
1
2
v.push_back(std::vector<int>(1));
v[0][0] = 1;
http://www.cplusplus.com/reference/v...vector/vector/
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
12.08.2013, 10:18  [ТС]     Как правильно записать число в вектор, который состоит из векторов? #3
yleart,
а почему печатает 0?

C++
1
2
3
4
5
    std::vector< std::vector<int> >     v;
 
    v.push_back(std::vector<int>(1));
 
    std::cout << v[0][0] << std::endl;
yleart
 Аватар для yleart
60 / 45 / 1
Регистрация: 07.10.2011
Сообщений: 139
12.08.2013, 10:19     Как правильно записать число в вектор, который состоит из векторов? #4
Гляньте ссылку, 1 в скобках - это количество элементов выделенных для вектора в векторе. Еще нужно инициализировать этот вектор.
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
12.08.2013, 10:24  [ТС]     Как правильно записать число в вектор, который состоит из векторов? #5
все понял, спасибо
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
12.08.2013, 10:28     Как правильно записать число в вектор, который состоит из векторов? #6
Еще так можно:
C++
1
2
3
4
5
6
7
8
9
10
11
std::vector<std::vector<int>> v;
v.push_back(std::vector<int>(1,1));
std::cout << v[0][0] << std::endl;
 
v.push_back({2,3,4,5,6});
v.push_back({7,8,9,10});
for (auto& i : v)
{
    for (int j : i) std::cout << j << " ";
    std::cout << std::endl;
}
Хулиган
 Аватар для Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
12.08.2013, 12:15     Как правильно записать число в вектор, который состоит из векторов? #7
Цитата Сообщение от DiffEreD Посмотреть сообщение
for (auto& i : v)
как это работает?
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
12.08.2013, 12:33     Как правильно записать число в вектор, который состоит из векторов? #8
C++
1
2
3
4
5
for (auto& i : v)
{
 for (int j : i) std::cout << j << " ";
 std::cout << std::endl;
}
Цитата Сообщение от Хулиган Посмотреть сообщение
как это работает?
примерно так

C++
1
2
3
4
5
6
7
for (std::vector<std::vector<int>>::iterator i = std::begin(v); i != std::end(v); ++i)
{
    for (std::vector<int>::iterator j = std::begin(*i); j != std::end(*i); ++j) 
        std::cout << *j << " ";
 
    std::cout << std::endl;
}
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
12.08.2013, 13:02     Как правильно записать число в вектор, который состоит из векторов? #9
Цитата Сообщение от DiffEreD Посмотреть сообщение
for (auto& i : v)
это на каком языке?

Добавлено через 2 минуты
Цитата Сообщение от Jupiter Посмотреть сообщение
for (std::vector<std::vector<int>>::iterator i = std::begin(v); i != std::end(v); ++i)
{
* * for (std::vector<int>::iterator j = std::begin(*i); j != std::end(*i); ++j)
* * * * std::cout << *j << " ";
std::cout << std::endl;
}
а почему тогда i было объявлено как auto& i
но j объявлено как int j
а у тебя циклы одинаковые?
после слова auto разве не обязан идти тип?
например
C++
1
auto std::vector<std::vector<int>>::iterator i;
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
12.08.2013, 13:12     Как правильно записать число в вектор, который состоит из векторов? #10
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
это на каком языке?
на с++11
_______________________________________________________________________
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
а почему тогда i было объявлено как auto& i
но j объявлено как int j
а у тебя циклы одинаковые?
написано же
Цитата Сообщение от Jupiter Посмотреть сообщение
примерно так
примерно как ссылки превращаются в указатели и наоборот
_______________________________________________________________________
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
после слова auto разве не обязан идти тип?
например
C++
1
auto std::vector<std::vector<int>>::iterator i;
и что это будет означать? чем это будет отличатся от
C++
1
std::vector<std::vector<int>>::iterator i;
?
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
12.08.2013, 13:26     Как правильно записать число в вектор, который состоит из векторов? #11
Для Kuzia domovenok: C++ 11 FAQ от Бьярна Страуструпа
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
12.08.2013, 13:30     Как правильно записать число в вектор, который состоит из векторов? #12
Цитата Сообщение от Jupiter Посмотреть сообщение
std::vector<std::vector<int>>::iterator i;
тем, что в языке Си ключевое слово auto означает именно спецификаторы классов памяти.
C++
1
2
3
4
//Можно написать 
for (auto std::vector<std::vector<int>>::iterator i = std::begin(v); i != std::end(v); ++i)
//А можно 
for (static std::vector<std::vector<int>>::iterator i = std::begin(v); i != std::end(v); ++i)
и то и другое имеет право быть
А отменяя объявление типа переменной, мы рискуем превратить годный типизированный язык в абстрактное яваподобное убожество с элементами функциональщины!
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11817 / 6796 / 769
Регистрация: 27.09.2012
Сообщений: 16,867
Записей в блоге: 2
Завершенные тесты: 1
12.08.2013, 13:32     Как правильно записать число в вектор, который состоит из векторов? #13
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
что в языке Си ключевое слово auto означает именно спецификаторы классов памяти.
А в языке C++ - автоматический вывод типа.
Кажется, это уже недавно обсуждали же
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
12.08.2013, 13:33     Как правильно записать число в вектор, который состоит из векторов? #14
Kuzia domovenok, не надо уклонятся от вопросов. Еще раз, чем это
C++
1
auto std::vector<std::vector<int>>::iterator i;
будет отличатся от
C++
1
std::vector<std::vector<int>>::iterator i;
?

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
Кажется, это уже недавно обсуждали же
действие инъекции закончилось

Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11817 / 6796 / 769
Регистрация: 27.09.2012
Сообщений: 16,867
Записей в блоге: 2
Завершенные тесты: 1
12.08.2013, 13:35     Как правильно записать число в вектор, который состоит из векторов? #15
Цитата Сообщение от Jupiter Посмотреть сообщение
будет отличатся от
Наверное, ошибкой компиляции..?
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
12.08.2013, 13:37     Как правильно записать число в вектор, который состоит из векторов? #16
Цитата Сообщение от Croessmah Посмотреть сообщение
А в языке C++ - автоматический вывод типа.
в языке С++ это означает то же, что и в Си. А то, что вы все мне говорите - не работает! Потому и обсуждаю.

Добавлено через 25 секунд
Цитата Сообщение от Croessmah Посмотреть сообщение
Наверное, ошибкой компиляции..?
в каком месте? У меня никаких ошибок.
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
12.08.2013, 13:37     Как правильно записать число в вектор, который состоит из векторов? #17
Цитата Сообщение от Croessmah Посмотреть сообщение
Наверное, ошибкой компиляции..?
ну пойдем на уступки Кузе и будем компилировать с -std=03, тем более у него 2008-я студия прожует

Kuzia domovenok, мы ждем ответ
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
12.08.2013, 13:45     Как правильно записать число в вектор, который состоит из векторов? #18
Цитата Сообщение от Croessmah Посмотреть сообщение
Наверное, ошибкой компиляции..?
Вот видите! Даже опытные программисты начинают забывать об истинном значении auto с появлением С++11! А новички о наличии этого слова в Сях вообще не подозревают! Но я не упрекаю Croessmah. Просто этот мир катится в... под откос.
Цитата Сообщение от Jupiter Посмотреть сообщение
Kuzia domovenok, мы ждем ответ
Вы все просто ненавидите Керригана и Ритчи и хотите превратить их детище в нетипизированное абстрактное яваподобие. Следующий этап - сделать язык интерпретируемым, навешать в него кучу свистелок, которые можно реализовать лишь на виртуальной машине.
Jupiter
12.08.2013, 13:48
  #19

Не по теме:

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Просто этот мир катится в... под откос.
это с вашей колокольни

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Вы все просто ненавидите Керригана и Ритчи и хотите превратить их детище в нетипизированное абстрактное яваподобие

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.08.2013, 13:51     Как правильно записать число в вектор, который состоит из векторов?
Еще ссылки по теме:

Создать абстрактный тип данных (структура) — вектор, который имеет указатель на int и число элементов C++
C++ Как объявить вектор векторов, если размеры изначально неизвестны?
Создать шаблонную матрицу как вектор векторов C++

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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11817 / 6796 / 769
Регистрация: 27.09.2012
Сообщений: 16,867
Записей в блоге: 2
Завершенные тесты: 1
12.08.2013, 13:51     Как правильно записать число в вектор, который состоит из векторов? #20
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Даже опытные программисты начинают забывать об истинном значении auto с появлением С++11!
Никто не забывает, значение данного слова было бесполезным, поэтому и было заменено на более полезные вещи

Добавлено через 45 секунд
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Вы все просто ненавидите Керригана и Ритчи
Да елы-палы, здесь плюсы обсуждают, а не Си, а это уже творение Страуструпа и он всем доволен!

Добавлено через 47 секунд
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
превратить их детище
и как изменение смысла auto в Си++ повлияет на Си? )))
Yandex
Объявления
12.08.2013, 13:51     Как правильно записать число в вектор, который состоит из векторов?
Ответ Создать тему
Опции темы

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