55 / 55 / 6
Регистрация: 07.07.2013
Сообщений: 345
1

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

12.08.2013, 10:02. Показов 2951. Ответов 22
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Что-то никак не соображу.
Каждый элемент - это вектор...

C++
1
2
3
std::vector< std::vector<int> >     v;
...
v[0] = 1; // error C2679: бинарный "=": не найден оператор, принимающий правый операнд типа "int" (или приемлемое преобразование отсутствует)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.08.2013, 10:02
Ответы с готовыми решениями:

задан вектор С, который состоит из 12 действительных чисел. Сформировать вектор D, нечетные элементы которого есть целая часть нечетных
задан вектор С, который состоит из 12 действительных чисел. Сформировать вектор D, нечетные...

Как правильно объявить константы для всего проекта, который состоит из нескольких файлов
какой-нибудь Variables.h в котором будет что-то типа: #define A 50 #define B 40 или ...

Образовать новый вектор, который состоит из отрицательных элементов X
Xi=i+2/i^2+4.57*cos i (Образовать новый вектор который состоит с отрицательных элементов Xi)

Сформировать вектор, который состоит из минимальных элементов в столбцах матрицы
Задание Сформировать вектор X=(x1, x2, ... xn), каждый элемент которого определяется как...

22
60 / 45 / 12
Регистрация: 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/refer... or/vector/
1
55 / 55 / 6
Регистрация: 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;
0
60 / 45 / 12
Регистрация: 07.10.2011
Сообщений: 139
12.08.2013, 10:19 4
Гляньте ссылку, 1 в скобках - это количество элементов выделенных для вектора в векторе. Еще нужно инициализировать этот вектор.
1
55 / 55 / 6
Регистрация: 07.07.2013
Сообщений: 345
12.08.2013, 10:24  [ТС] 5
все понял, спасибо
0
1458 / 795 / 257
Регистрация: 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;
}
2
88 / 83 / 21
Регистрация: 08.08.2012
Сообщений: 737
12.08.2013, 12:15 7
Цитата Сообщение от DiffEreD Посмотреть сообщение
for (auto& i : v)
как это работает?
0
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
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;
}
0
4063 / 3317 / 924
Регистрация: 25.03.2012
Сообщений: 12,483
Записей в блоге: 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;
0
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
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;
?
0
1458 / 795 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
12.08.2013, 13:26 11
Для Kuzia domovenok: C++ 11 FAQ от Бьярна Страуструпа
0
4063 / 3317 / 924
Регистрация: 25.03.2012
Сообщений: 12,483
Записей в блоге: 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)
и то и другое имеет право быть
А отменяя объявление типа переменной, мы рискуем превратить годный типизированный язык в абстрактное яваподобное убожество с элементами функциональщины!
0
Неэпический
17869 / 10634 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
12.08.2013, 13:32 13
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
что в языке Си ключевое слово auto означает именно спецификаторы классов памяти.
А в языке C++ - автоматический вывод типа.
Кажется, это уже недавно обсуждали же
0
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
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 Посмотреть сообщение
Кажется, это уже недавно обсуждали же
действие инъекции закончилось

0
Неэпический
17869 / 10634 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
12.08.2013, 13:35 15
Цитата Сообщение от Jupiter Посмотреть сообщение
будет отличатся от
Наверное, ошибкой компиляции..?
0
4063 / 3317 / 924
Регистрация: 25.03.2012
Сообщений: 12,483
Записей в блоге: 1
12.08.2013, 13:37 16
Цитата Сообщение от Croessmah Посмотреть сообщение
А в языке C++ - автоматический вывод типа.
в языке С++ это означает то же, что и в Си. А то, что вы все мне говорите - не работает! Потому и обсуждаю.

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

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

Не по теме:

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

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

0
Неэпический
17869 / 10634 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
12.08.2013, 13:51 20
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Даже опытные программисты начинают забывать об истинном значении auto с появлением С++11!
Никто не забывает, значение данного слова было бесполезным, поэтому и было заменено на более полезные вещи

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

Добавлено через 47 секунд
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
превратить их детище
и как изменение смысла auto в Си++ повлияет на Си? )))
0
12.08.2013, 13:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.08.2013, 13:51
Помогаю со студенческими работами здесь

Построить вектор, который состоит из минимальных элементов строк матрицы
Дано матрицу А(4Х3) построить вектор который состоит из самых маленьких елементов строк матрици(...

Вывести вектор В, который состоит из сумм по строкам простых чисел
Помогите пожалуйста, как написать программу в visual basic 6.0 если: Дана матрица целых чисел ...

Как число, введенное в string, записать в вектор int?
Пользователь вводит число в переменную типа string, нужно создать вектор типа int с этим числом. Ну...

Как правильно записать большое число
Есть число размер 10^100 как правильно записывать такие числа? Спасибо!


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru