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

Объясните пожалуйста как тут работает сортировка и что такое ostream_iterator<string> - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ вывести на экран первую половину слово http://www.cyberforum.ru/cpp-beginners/thread753874.html
дано слово, состоящее из четного числа букв. Вывести на экран его первую половину
C++ Пользовательский интерфейс Доброго времени суток! У меня стал такой вопрос, хочется создать свой, пользовательский интерфейс, а не пользоваться стандартными методами... прочитал, что такое возможно с помощью wpf сделать такую приятную вещь, скачал VS2010 pro, открываю, смотрю в списке возможных создаваемых проектах, но там его нет... знаю, что в шарпе 100% есть, хотя его не ставил... подскажите, в чем проблема... заранее... http://www.cyberforum.ru/cpp-beginners/thread753872.html
C++ "Классы и объекты" -"операторы"
Объект «множество целых чисел удвоенной длины заданной мощности». Предусмотреть возможность операции присваивания, объединения двух множеств, вывода на печать элементов множества, а так же метод отвечающий на вопрос – принадлежит ли указанное значение множеству. Конструктор должен позволить создавать объекты без и с начальной инициализацией. Мощность множества задается при создании объекта.
C++ Классы и объекты 1 - разработка простых классов
Разработать класс, набор методов (конструктор, деструктор и указаны методы) для программной модели заданного объекта. Описание объекта и его основных свойств приводится ниже. Привести программу (int main), использующий объекты разработанного класса: Объект «вектор на плоскости» заданный в системе декартовых координат. Начало вектора находится в начале координат. Операции определяются согласно...
C++ Путем перестановок строк и столбцов максимальный элемент переместить в правый верхний угол подмассива http://www.cyberforum.ru/cpp-beginners/thread753865.html
Задан двумерный массив N x N. Последовательно рассматриваются квадратные под массивы, правый верхний элемент которых лежит на побочной диагонали. В каждом таком под массиве находится максимальный элемент. Путем перестановок строк и столбцов (целиком) элемент надо переместить в правый верхний угол подмассива. Проверить получилась ли на побочной диагонали убывающая последовательность элементов.
C++ Не работает "setlocale( LC_ALL,"Russian" )" В одной программе setlocale( LC_ALL,"Russian" ) работает, а в другой, ничем не отличающейся от первой, нет. В чем дело? подробнее

Показать сообщение отдельно
rslrusl
0 / 0 / 0
Регистрация: 17.12.2012
Сообщений: 24
06.01.2013, 10:49     Объясните пожалуйста как тут работает сортировка и что такое ostream_iterator<string>
вот код. Объясните пожалуйста как тут работает сортировка, сам не могу разобраться. Оссобенно это
C++
1
ostream_iterator<string>
не понимаю
Кликните здесь для просмотра всего текста
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <algorithm>
#include <iterator>
using namespace std;
 
bool pred_sort(string str1, string str2)
{
    return str1.length() > str2.length();// length подсчет длины строки
}
 
bool pred_sort1(string str1, string str2)
{
    return str1 > str2;
}
 
int main()
 
{
    ifstream ifs("input.txt"); //Определяет поток, используемый для чтения однобайтовой последовательности символьных данных из файла.
    vector<string> vec; //vector динамический массив произвольного доступа
 
    if(!ifs.is_open())
    {
        cout << "File not found" << endl;
        return 1;
    }
 
    while(!ifs.eof())
    {
        string tmp;
        getline(ifs, tmp, '\n');
        vec.push_back(tmp);//функция push_back()вставляет элемент в конец вектора
    }
 
    sort(vec.begin(), vec.end(), pred_sort);//begin Возвращает итератор на первый элемент вектора
    copy(vec.begin(), vec.end(), ostream_iterator<string>(cout, " "));// end Возвращает итератор на место после последнего элемента вектора
 
    cout << "\n\n";
    sort(vec.begin(), vec.end());
    copy(vec.begin(), vec.end(), ostream_iterator<string>(cout, " "));
 
    cout << "\n\n";
    sort(vec.begin(), vec.end(), pred_sort1);
    copy(vec.begin(), vec.end(), ostream_iterator<string>(cout, " "));
    
    getchar();
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru