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

Как исправить код с istream_iterator? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти максимальный элемент матрицы расположенный выше побочной диагонали и его местоположение http://www.cyberforum.ru/cpp-beginners/thread1068798.html
2d массив C++ Добавлено через 12 минут Дана матрица размером . Добавлено через 2 часа 25 минут Максимальный среди элементов расположенных выше побочной диагонали
C++ Занулить элементы в матрице между min и max сообственно нужно написать функцию которая будет занулять элементы между минимальным и максимальным ну я смог найти места минимального и максимального элемента но как занулить все между ними ? #include <iostream> #include <time.h> using namespace std; void RandMat(int **matrix, int n, int m) { http://www.cyberforum.ru/cpp-beginners/thread1068795.html
C++ Определить максимальный и минимальный элемент двумерного массива
Дан двумерный массив. Определить: а) Максимальное значение среди элементов третьего столбца массива; б) Минимальное значение среди элементов второй строки массива. Заранее огромное спасибо!
Определить количество положительных и количество отрицательных элементов массива C++
Определить количество положительных и количество отрицательных элементов массива Заранее огромное спасибо!
C++ Определить порядковый номер автомобиля, имевшего максимальную из средних скоростей движения http://www.cyberforum.ru/cpp-beginners/thread1068790.html
Известны длины участков пути (в км), которые проехали 25 легковых автомобилей, и время, затраченное каждым из них (в ч.). Определить порядковый номер автомобиля, имевшего максимальную из средних скоростей движения на участках. Заранее огромное спасибо!
C++ Выяснить в каком из данных натуральных чисел больше цифр Даны 2 натуральных числа. Выяснить в каком из них больше цифр. (Определить функцию для расчета количества цифр натруального числа). Заранее огромное спасибо! Перечитайте правила форума. Один вопрос - одна тема. Заголовок темы должен отражать суть вопроса. подробнее

Показать сообщение отдельно
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
12.01.2014, 02:11     Как исправить код с istream_iterator?
Цитата Сообщение от outoftime Посмотреть сообщение
Единственное я не нашел пока инфы о том надо ли сортировать контейнер перед вызовом unique_copy или unique.
если есть необходимость в сортировке - то только через std::sort

Добавлено через 12 минут
да и вообще сама сортировка вектора для вывода уникальных элементов должна настораживать, std::set же есть.
C++
1
2
3
4
5
6
7
8
9
10
#include <algorithm>
#include <iostream>
#include <set>
 
int main()
{
    std::set<std::string> names;
    for (std::string word; std::cin >> word && word != "quit"; names.insert(word));
    std::copy(names.begin(), names.end(), std::ostream_iterator<std::string>(std::cout, "\n"));
}
просто и для с++98 тоже подходит

Добавлено через 3 минуты
outoftime, я имел ввиду это:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <algorithm>
#include <iterator>
#include <vector>
 
typedef std::istream_iterator<std::string> is;
typedef std::ostream_iterator<std::string> os;
 
int main()
{
    std::vector<std::string> names;
    std::find_if(is(std::cin), is(), [&names](const std::string &str) {
        return str == "quit" ? true : (names.push_back(str), false);
    });
    std::sort(names.begin(), names.end());
    std::unique_copy(names.begin(), std::unique(names.begin(), names.end()), os(std::cout, "\n"));
}
 
Текущее время: 06:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru