Вопрос по алгоритму сортировки в С++

Тема в разделе "Общие вопросы по С и С++", создана пользователем Guest, 27 дек 2003.

Статус темы:
Закрыта.
  1. Guest

    Guest Гость

    то нибудь знает алгоритм сортировки который может “Для отдельных цехов и по предприятию в целом подсчитать средний процент”
     
  2. AlexGin

    AlexGin Гость

    При чем тут алгоритм сортировки ?
     
  3. Guest

    Guest Гость

    Код (Text):
    struct Data
    {
    Dept dept; // идентификатор цеха
    Something something; // всякая ботва
    double rate; // тот самый процент
    };

    container<Data> cont; // какой-то контейнер (вектор, список, всё что хошь)

    // среднее по всем
    struct add_rate
    {
    double operator()(double sum, const Data& data) const
    { return sum + data.rate; }
    };

    double avg = cont.empty() ? 0 : accumulate(cont.begin(), cont.end(), 0, add_rate()) / cont.size();

    // среднее по каждому
    struct statistics
    {
    double sum; int count;
    statistics() : sum(0), count(0) {}
    void operator +=(double rate) { sum += rate; ++count; }
    double avg() const { return count ? sum/count : 0; }
    };

    map<Dept, statistics> rates;

    struct add_rates
    {
    map<Dept, statistics> &rates;
    add_rates(map<Dept, statistics>& r) : rates(r) {}
    void operator()(const Data& data) const
    { rates[data.dept] += data.rate; }
    };

    for_each(cont.begin(), cont.end(), add_rates(rates));
     
  4. Гость

    ^-- это был я
     
Загрузка...
Похожие Темы - Вопрос по алгоритму
  1. ApplePen
    Ответов:
    0
    Просмотров:
    78
  2. gURaBA_N
    Ответов:
    3
    Просмотров:
    96
  3. kartaman
    Ответов:
    0
    Просмотров:
    128
  4. Peter
    Ответов:
    4
    Просмотров:
    526
  5. di0d_
    Ответов:
    1
    Просмотров:
    442
Статус темы:
Закрыта.

Поделиться этой страницей