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

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

Войти
Регистрация
Восстановить пароль
 
mercury1987
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 10
#1

copy, iterator, vector - C++

14.02.2014, 17:44. Просмотров 761. Ответов 6
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <istream>
#include <vector>
#include <algorithm>
#include <iterator>
 
 
int main( ) {
    
    std::vector <int> ivec;
    
    
    std::copy(std::istream_iterator<int, char> (std::cin), std::istream_iterator<int, char> () ,  back_inserter(ivec));
    
    std::copy(ivec.begin(), ivec.end(), std::ostream_iterator<int, char>( std::cout, " "));
    return 0;
}
Как сделать , что-бы в написанной программе вводимый поток чисел останавливался с помощью кнопки "Enter",
а не "Cntrl + d" ?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2014, 17:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос copy, iterator, vector (C++):

vector<T> template vector<T>::iterator - C++
Здраствуйте! При написании вектора столкнулся с проблемой такого рода: вот код вектора template &lt;typename T&gt; class vector { ...

Std::vector<std::pair<std::vector<int>::iterator, std::vector<int>::iterator> - C++
Вопрос по вектору. Допустим есть вектор, std::vector&lt;int&gt; vec; на каком - то этапе заполнения я ставлю закладку итератора, ...

Vector iterator not incrementable - C++
Здравствуйте. Подскажите, из-за чего не работает код? При запуске программы появляется ошибка: &quot;... expression: vector iterator not...

vector iterator not decrementable - C++
Здраствуйте! Хочу вывести вектор задом-наперед, все нормально, но после того как оно выводит вектор сразу выскакивает ошибка vector...

vector<pointer>::iterator - C++
В общем, есть некий родительский объект, в котором хранится динамический массив указателей на дочерние объекты. Требуется пройтись по всем...

STL vector iterator - C++
есть список в списке... ..точнее: vector &lt;Class1*&gt; mapClass1; а уже в Class1 определён вектор vector &lt;Class2*&gt; mapClass2; ...

6
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
14.02.2014, 17:51 #2
Цитата Сообщение от mercury1987 Посмотреть сообщение
ак сделать , что-бы в написанной программе вводимый поток чисел останавливался с помощью кнопки "Enter",
Никак. Надо переписывать. Чтобы например принимать строку, а поток разбивать ее на части.
P.S. второй аргумент шаблона по умолчанию и так char. Т.е. можно не указывать.
0
mercury1987
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 10
14.02.2014, 17:58  [ТС] #3
а как это сделать? хотя-бы примерно.
0
raccoonlove
Заблокирован
14.02.2014, 18:01 #4
mercury1987, можно просто считать строку и ёё уже разбить на числа при помощи istringstream. Если подходит, могу показать как.
0
mercury1987
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 10
14.02.2014, 18:04  [ТС] #5
Цитата Сообщение от raccoonlove Посмотреть сообщение
mercury1987, можно просто считать строку и ёё уже разбить на числа при помощи istringstream. Если подходит, могу показать как.
спасибо, но мне нужно именно с использованием алгоритма "copy()" и "istream_iterator"
0
gray_fox
What a waste!
1521 / 1226 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
14.02.2014, 18:34 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
mercury1987,
C++
1
2
3
4
5
6
7
8
9
#include <sstream>
#include <string>
 
// ...
 
std::string line;
std::getline(std::cin, line);
std::istringstream iss(line);
std::copy(std::istream_iterator<int>(iss), std::istream_iterator<int>(), std::back_inserter(ivec));
1
Somebody
2791 / 1602 / 147
Регистрация: 03.12.2007
Сообщений: 4,199
Завершенные тесты: 1
14.02.2014, 22:35 #7
Цитата Сообщение от Tulosba Посмотреть сообщение
Никак.
Ну зачем так сразу?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class NewlineAsPunct : public std::ctype<char>
{
    static const mask* GetTable()
    {
        static mask newTable[table_size];
        const mask* oldTable = classic_table();
        std::copy(oldTable, oldTable + table_size, newTable);
        newTable['\n'] = punct;
        return newTable;
    }
public:
    NewlineAsPunct() : std::ctype<char>(GetTable()) {}
};
...
std::cin.imbue(std::locale(std::cin.getloc(), new NewlineAsPunct));
0
14.02.2014, 22:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.02.2014, 22:35
Привет! Вот еще темы с ответами:

Vector iterator + offset out of range - C++
Вылазит такая ошибка. Подскажите, из-за чего она может вылезти?

Expression: vector iterator not decrementable - C++
Требуется в двух файлах удалить повторяющие строки (до первого вхождения) Примеры: Name_N &lt;TEXT&gt; ...

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

Синхронизация map и vector. Iterator not incrementable - C++
День добрый. Надо синхронизровать vector и map, чтобы в них были только одинаковые элементы. Вот мой код, который выбрасывает ошибку....


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

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

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