Форум программистов, компьютерный форум CyberForum.ru Форум программистов | Компьютерный форум | Форум web-программистов | Форум по электронике и бытовой технике | Форум о софте | Научный форум | Карьера и бизнес
CyberForum.ru - форум программистов и сисадминов > Форум Форум программистов > Форум C++ > Форум С++ для начинающих
Восстановить пароль Регистрация

Ответ Создать новую тему
 
25.01.2013, 15:10   #1
Savras
Новичок
Регистрация: 03.01.2013
Сообщений: 10
Репутация: -1 (2)
Лучшие ответы: 1
инициализировать вектор значениями массива / С++ для начинающих

Вот все что у меня получилось... В чем ошибка подскажите.
Код C++
1
2
3
    vector<int> vec;
    int arr[10]={1,2,3,4,5,6,7,8,9,10};
    vec.push_back(arr);
25.01.2013, 15:10
AdAgent
Объявления
25.01.2013, 15:15   #2
ForEveR
В астрале
Эксперт C++
Регистрация: 24.06.2010
Сообщений: 9,573
Репутация: 7011 (4123)
Лучшие ответы: 124
инициализировать вектор значениями массива

Savras,
Код C++
1
vec.assign(arr, arr + sizeof(arr) / sizeof(*arr));
Другие темы раздела
Необходимо вычислить N значений функции на отрезке C++
Завтра экзамен неполучается решить помогите пожалуйста , немогу сдать никак , уже пересдача , срочно надо до завтра , помогите Дана функция. Необходимо вычислить N ее значений на отрезке . При этом необходимо посчитать для функции дополнительный параметр в*соответствии*с*вариантом*задания. ...
C++ Программа для определения кода клавиши выдает неверный код кнопок
Доброго времени суток. У меня есть вопросик. Вот моя программа: // Программа для определения кода клавиши #include <conio.h> #include <iostream> #include <clocale> using namespace std;
25.01.2013, 15:20  [ТС]   #3
Savras
Новичок
Регистрация: 03.01.2013
Сообщений: 10
Репутация: -1 (2)
Лучшие ответы: 1
инициализировать вектор значениями массива

А если через push_back нельзя? Если нельзя то почему?
25.01.2013, 15:22   #4
ForEveR
В астрале
Эксперт C++
Регистрация: 24.06.2010
Сообщений: 9,573
Репутация: 7011 (4123)
Лучшие ответы: 124
инициализировать вектор значениями массива

Savras, Ну. Как бэ push_back принимает 1 элемент. Можно в цикле.
25.01.2013, 15:22
AdAgent
Объявления
25.01.2013, 15:33  [ТС]   #5
Savras
Новичок
Регистрация: 03.01.2013
Сообщений: 10
Репутация: -1 (2)
Лучшие ответы: 1
инициализировать вектор значениями массива

Мне и нужно было в цикле, просто у меня компилятор ругается при передаче, и я не пойму почему...
Код C++
1
2
    for(vector<int>::iterator iter=vec.begin(); iter!=vec.end(); iter++)
        vec.push_back(arr[iter]);
25.01.2013, 15:37   #6
Silvestr1994
Форумчанин
Регистрация: 26.10.2012
Сообщений: 98
Репутация: 26 (26)
Лучшие ответы: 1
инициализировать вектор значениями массива

Код 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
#include <iostream>
#include <conio.h>
#include <vector>
 
using namespace std;
 
int main()
{
    vector<int> vec;
    int arr[10]={1,2,3,4,5,6,7,8,9,10};
    int i = 0;
    while(i < sizeof(arr)/sizeof(arr[0]))
    {
        vec.push_back(arr[i]);
        i++;
    }
    i = 0;
    while(i < vec.size())
    {
        cout<<vec[i]<<" ";
        i++;
    }
    getch();
    return 0;
}
Добавлено через 1 минуту
Цитата Сообщение от Savras Посмотреть сообщение
for(vector<int>::iterator iter=vec.begin(); iter!=vec.end(); iter++)
* * * * vec.push_back(arr[iter]);
попробуй так должно работать
25.01.2013, 18:16   #7
Croessmah
Вредный кошак
Регистрация: 27.09.2012
Сообщений: 9,713
Репутация: 6282 (4011)
Записей в блоге: 1
Лучшие ответы: 166
инициализировать вектор значениями массива

Как вариант:
Код C++
1
vec.insert(vec.begin(),arr,arr+10);
25.01.2013, 18:29   #8
UserAK
Форумчанин
Регистрация: 25.12.2012
Сообщений: 180
Репутация: 65 (65)
Записей в блоге: 2
Лучшие ответы: 2
инициализировать вектор значениями массива

Цитата Сообщение от Savras Посмотреть сообщение
arr[iter]
странная конструкция, что бы это значило?

Добавлено через 8 минут
количество элементов массива можно ещё так узнать _countof(arr)
25.01.2013, 18:36   #9
Croessmah
Вредный кошак
Регистрация: 27.09.2012
Сообщений: 9,713
Репутация: 6282 (4011)
Записей в блоге: 1
Лучшие ответы: 166
инициализировать вектор значениями массива

Цитата Сообщение от UserAK Посмотреть сообщение
количество элементов массива можно ещё так узнать _countof(arr)
а ничего, что начинается имя функции со знака подчеркивания?
25.01.2013, 18:42   #10
UserAK
Форумчанин
Регистрация: 25.12.2012
Сообщений: 180
Репутация: 65 (65)
Записей в блоге: 2
Лучшие ответы: 2
инициализировать вектор значениями массива / С++ для начинающих

макрос как макрос
25.01.2013, 18:42
Yandex
Объявления
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Раздел Автор Дата
C++: Инициализировать вектор unique_ptr
Как инициализировать вектор unique_ptr? std::unique_ptr<int> a(nullptr); std::unique_ptr<int> b(nullptr); std::vector<std::unique_ptr<int>>my_vector; my_vector.push_back(std::move(a)); my_vector.push_back(std::move(b)); Работает, но некрасиво. ...
С++ для начинающих Renji 08.06.2014 02:51
Pascal ABC: Обьявить массив из 10 целых чисел. Инициализировать массив значениями введенными с клавиатуры
Обьявить массив из 10 целых чисел. Инициализировать массив значениями введенными с клавиатуры. Найти в массиве первое отрицательное число и вывести его на экран. Отсортировать элементы массива любым из способов. Вывести результат на экран. В программе должны быть использованы циклы всех 3-х типов....
Pascal ABC Mister_Shed 07.03.2014 08:37
Visual Basic: Разработать ИТ, позволяющую заполнить вектор N значениями функции
Разработать ИТ, позволяющую заполнить вектор N значениями функции z=({ctg}^{2}(x)+{e}^{x})/({sin}^{2}x), где x=\bar{10,20} с шагом 2,5.
Visual Basic Safari1238 01.03.2014 01:37
C++: Массив: Разместить все элементы с положительными значениями в левой части массива, элементы с отрицательными значениями - в правой
Напишите пожалуйста программу Разместить все элементы с положительными значениями в левой части массива, элементы с отрицательными значениями - в правой, а нули - между ними Размерность массива 100 Диапазон значений -100 - 100. Для всех вариантов задания следует иметь в виду следующее: 0...
С++ для начинающих alexcherep 25.09.2012 14:44
Pascal: Составить вектор с М минимальными значениями исходного вектора
Помогите, пожалуйста. Суть программы: вводится длина вектора и значения его элементов, нужно составить вектор с М минимальными значениями исходного вектора.
Pascal (Паскаль) Rollarz 14.12.2010 04:44
Опции темы

Текущее время: 23:21. Часовой пояс GMT +4.

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.