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

copy, iterator, vector - C++

Восстановить пароль Регистрация
 
mercury1987
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 10
14.02.2014, 17:44     copy, iterator, vector #1
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" ?
Лучшие ответы (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++ STL vector iterator
vector<pointer>::iterator C++
vector iterator not decrementable C++
Разыменование итератора std::list<vector<>>::iterator C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
14.02.2014, 17:51     copy, iterator, vector #2
Цитата Сообщение от mercury1987 Посмотреть сообщение
ак сделать , что-бы в написанной программе вводимый поток чисел останавливался с помощью кнопки "Enter",
Никак. Надо переписывать. Чтобы например принимать строку, а поток разбивать ее на части.
P.S. второй аргумент шаблона по умолчанию и так char. Т.е. можно не указывать.
mercury1987
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 10
14.02.2014, 17:58  [ТС]     copy, iterator, vector #3
а как это сделать? хотя-бы примерно.
raccoonlove
Заблокирован
14.02.2014, 18:01     copy, iterator, vector #4
mercury1987, можно просто считать строку и ёё уже разбить на числа при помощи istringstream. Если подходит, могу показать как.
mercury1987
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 10
14.02.2014, 18:04  [ТС]     copy, iterator, vector #5
Цитата Сообщение от raccoonlove Посмотреть сообщение
mercury1987, можно просто считать строку и ёё уже разбить на числа при помощи istringstream. Если подходит, могу показать как.
спасибо, но мне нужно именно с использованием алгоритма "copy()" и "istream_iterator"
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
14.02.2014, 18:34     copy, iterator, vector #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));
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.02.2014, 22:35     copy, iterator, vector
Еще ссылки по теме:

C++ STL, vector. iterator. как работает?
C++ Vector iterator + offset out of range
Vector iterator not incrementable C++

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

Или воспользуйтесь поиском по форуму:
Somebody
2770 / 1583 / 141
Регистрация: 03.12.2007
Сообщений: 4,139
Завершенные тесты: 1
14.02.2014, 22:35     copy, iterator, vector #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));
Yandex
Объявления
14.02.2014, 22:35     copy, iterator, vector
Ответ Создать тему
Опции темы

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