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

Вывод map через ostream_iterator с использованием алгоритма reverse_copy!!! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Область применения С/С++ http://www.cyberforum.ru/cpp-beginners/thread380887.html
Я программирую на C++ и С# под Windows. Хотелось бы узнать по конкретнее для каких сфер применяется С++ в настоящее время? На С# пишутся в основном офисные приложения(хотя можно написать и многое другое), С++ по моему для этого использовать ни к чему. Не буду хвалить тот или иной язык тема не об этом. Но мне С++ нравится более низким уровнем абстракции, однако область применения не очень ясна?...
C++ Одномерный массив. Найти наименьшие среди элементов первого массива, которые не входят во второй массив. Задано два массива. Найти наименьшие среди элементов первого массива, которые не входят во второй массив. Ни как не могу придумать:cry:, помогите пожалуйста. вот что смог, программа немного не даработана #include <iostream.h> #include <iomanip.h> #include <conio.h> main() { int arraySize; http://www.cyberforum.ru/cpp-beginners/thread380885.html
C++ Найти в введеном числе цифру "1"
Если хотя бы один раз встречается "1" вывести "Yes" и закончить программу. Подскажите что не так тут. #include<iostream> using namespace std; int main(){ int a,r; cin>>a; // К примеру вводим 1536 while (a==0) {
C++ Помогите написать программу, плиз...
Цель работы:Дана функция, заданная бесконечным рядом. С клавиатуры вводятся x и e(e - точность 0,001 - 0,00001), нужно вычислить бесконечную сумму с заданной точностью е. Вычисления прекращаются, когда очередное слагаемое по модулю меньше точности. Требуется, во-первых, вывести на экран таблицу значений i и суммы i слагаемых. Во-вторых, посторить график этой функции. По оси абцисс выводить i, по...
C++ Открыть файл http://www.cyberforum.ru/cpp-beginners/thread380872.html
Как открыть существующий файл? Делать мне с ним ничего не надо, т.е. хендл не нужен, нужно просто, чтоб он открылся
C++ Отсортировать массив по возрастанию и убыванию Помогите пожалуйста сортировать данный массив по возрастанию и убыванию. (buble sort) подробнее

Показать сообщение отдельно
hektor
0 / 0 / 0
Регистрация: 14.10.2010
Сообщений: 15

Вывод map через ostream_iterator с использованием алгоритма reverse_copy!!! - C++

09.11.2011, 23:48. Просмотров 801. Ответов 4
Метки (Все метки)

У меня есть два класса Time и Patient, я засунул их в map (ключ Time, значение - Patient), и мне надо вывести через ostream_iterator в убывающем порядке (reverse_copy), скажите пожалуйста как это сделать!!!
Вот мой код.
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#include <iostream>
#include <string>
#include <map>
#include <algorithm>
#include <fstream>
#include <iterator>
using namespace std;
    class Time
    {
    private:
        int hour;
        int minute;
        int second;
    public:
        Time ()
        {
            hour = 0;
            minute = 0;
            second = 0;
        }
        Time (int h, int m, int s)
        {
            hour = h;
            minute = m;
            second = s;
        }
        int getHour ()
        {
            return hour;
        }
        int getMinute ()
        {
            return minute;
        }
        int geSecond ()
        {
            return second;
        }
        friend istream & operator >> (istream & is, Time & ob)
        {
            is >> ob.hour >> ob.minute >> ob.second;
            return is;
        }
        friend ostream & operator << (ostream & os, Time & ob)
        {
            os << ob.hour << " " << ob.minute << " " << ob.second << endl;
            return os;
        }
    };
    class Patient
    {
    private:
        string name;
        Time time;
    public:
        Patient()
        {
            name = "";
        }
        friend istream & operator >> (istream & is, Patient & ob)
        {
            is >> ob.time >> ob.name;
            return is;
        }
        friend ostream & operator << (ostream & os, Patient & ob)
        {
            os << ob.time << " " << ob.name << endl;
            return os;
        }
        Time get ()
        {
            return time;
        }
    };
    struct byTime
    {
        bool operator ()(Time a, Time ob)
        {
            if (a.getHour() < ob.getHour())
            {
                return true;
            }
            if (a.getHour() <= ob.getHour() && a.getMinute() < ob.getMinute())
            {
                return true;
            }
            if (a.getHour() <= ob.getHour() && a.getMinute() <= ob.getMinute() && a.geSecond() <= ob.geSecond())
            {
                return true;
            }
            else
            {
                return false;
            }
        }
    };
typedef map<Time, Patient, byTime> Map;
int main ()
{
    ifstream is ("input.txt");
    int n;
    is >> n;
    Map a;
    Map::iterator it;
    Map::iterator it2;
    Patient* ob  = new Patient [n];
    for (int i = 0; i < n; i++)
    {
        is >> ob[i];
        a.insert(pair<Time,Patient>(ob[i].get(),ob[i]));
    }
    is.close();
    ofstream of ("output");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru