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

ЕГЭ Информатика С4 - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Динамическая библиотека http://www.cyberforum.ru/cpp-beginners/thread277416.html
Как создать динамическую библиотеку, Объясните пожалуйста все пошагово. На Visual С++
C++ "Длинные" числа Здравствуйте, простите что отвлекаю. Я ещё только начинаю самостоятельно учиться программировать на С++. Вот double выводит ну гдето около миллиона, я непомню точно, а есть ли такой аргумент(или как это называеться) с помощью которого можно вывести например, 50 значное число или около того? P.S. Простите за вопрос.:) http://www.cyberforum.ru/cpp-beginners/thread277409.html
Описать структуру "Риелтор" C++
Определить структурный тип содержащий следующую информацию: Фио риэлтора, тип квартиры, кол-во комнат, стоимость, дата продажи. Ввести 5 элементов данного типа. Распечатать информацию в табличном виде, расположив записи в алфавитном порядке по ФИО риэлтора. Подсчитать общую стоимость продаж, определить риэлтора который продал самую дорогую квартиру. вод что натворить смог #include...
Решето Эратосфена понять алгоритм. C++
Решето Эратосфена. Помогите пожалуйста понять алгоритм кода. На одном хостере видеороликов, есть учебное видео рассматривающий алгоритм сортировки массива (Решето Эратосфена ). #include <iostream> #include <iomanip> using namespace std; const int SIEVE_SIZE = 1000;
C++ Написание модулей UnrealIRCd http://www.cyberforum.ru/cpp-beginners/thread277390.html
Здравствуйте. У меня есть задумка, нарисовать модуль под вышеозначенный сервер. Никакой вменяемой документации на эту тему, я не смог найти. Шарю в Си я очень слабо и вникнуть в тему по сорцам других модулей, мне не под силу. Подскажите пожалуйста ссылки на информацию по теме. Задумка - сделать как было в далнетовском (или ирклайновском) сервере, т.е. мод юзера для пометки юзера как...
C++ Программирование с использованием графических средств. Разработать программу расчета и вывода на экран графика функции y=f(x). График функции вывести в графическом окне. Графическое окно заполнить фоном (цветом), отличным от фона (цвета) экрана. Нужна прога на Си++ очень.Help!!!Спасибо подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
17.04.2011, 17:02     ЕГЭ Информатика С4
Sokolov, Интересного ничего не увидел. Только муторно.

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
#include <string>
#include <iostream>
#include <map>
#include <vector>
#include <algorithm>
 
struct person
{
    person(const std::string& n="",
        const std::string& s="",
        const size_t sc_n_=0,
        const size_t note_=0):
    name(n), surname(s), sc_n(sc_n_), note(note_)
    {
    }
    std::string name;
    std::string surname;
    size_t sc_n;
    size_t note;
};
 
std::istream& operator >>(std::istream& is, person& one)
{
    is >> one.name >> one.surname >> one.sc_n >> one.note;
    return is;
}
 
std::map<size_t, std::vector<size_t> > find_notes_in_schools(const std::vector<person>& vec)
{
    std::map<size_t, std::vector<size_t> > notes_in_schools;
    std::vector<size_t> vc;
    for(std::vector<person>::const_iterator iter = vec.begin(); iter != vec.end(); ++iter)
    {
        std::map<size_t, std::vector<size_t> >::iterator m_iter;
        if((m_iter = notes_in_schools.find(iter->sc_n)) != notes_in_schools.end())
            m_iter->second.push_back(iter->note);
        else
        {
            vc.push_back(iter->note);
            notes_in_schools.insert(std::make_pair(iter->sc_n, vc));
            vc.clear();
        }
    }
    return notes_in_schools;
}
 
std::map<size_t, size_t> find_max_notes_in_schools
(const std::map<size_t, std::vector<size_t> >& map)
{
    std::map<size_t, size_t> res;
    for(std::map<size_t, std::vector<size_t> >::const_iterator iter = map.begin();
        iter != map.end(); ++iter)
        res.insert(std::make_pair(iter->first, *std::max_element(iter->second.begin(), iter->second.end())));
    return res;
}
 
std::map<size_t, size_t> find_schools_numbers
(const std::map<size_t, size_t>& max_notes_in_schools,
 const std::vector<person>& persons)
{
    std::map<size_t, size_t> res;
    for(std::vector<person>::const_iterator iter = persons.begin();
        iter != persons.end(); ++iter)
    {
        std::map<size_t, size_t>::const_iterator m_iter;
        if((m_iter = max_notes_in_schools.find(iter->sc_n)) != max_notes_in_schools.end())
        {
            if(iter->note == m_iter->second && res.find(iter->sc_n) == res.end())
                res.insert(std::make_pair(iter->sc_n, 1));
            else if(iter->note == m_iter->second && res.find(iter->sc_n) != res.end())
                ++res[iter->sc_n];
        }
    }
    return res;
}
 
int main()
{
    std::vector<person> vec((std::istream_iterator<person>(std::cin)), std::istream_iterator<person>());
    std::map<size_t, std::vector<size_t> > map = find_notes_in_schools(vec);
    std::map<size_t, size_t> mp = find_max_notes_in_schools(map);
    std::map<size_t, size_t> map_res = find_schools_numbers(mp, vec);
    std::vector<size_t> result;
    for(std::map<size_t, size_t>::iterator iter = map_res.begin();
        iter != map_res.end();
        ++iter)
    {
        if(iter->second > 2)
            result.push_back(iter->first);
    }
    if(result.empty())
        std::cout<<"There are no such schools\n";
    else if(result.size() == 1)
        std::cout<<result[0]<<'\n'<<"Max note is: "<< mp.find(result[0])->second<<'\n';
    else
        std::copy(result.begin(), result.end(), std::ostream_iterator<size_t>(std::cout, " "));
    return 0;
}
 
Текущее время: 20:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru