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

  • Автор темы Автор темы Guest
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

то нибудь знает алгоритм сортировки который может “Для отдельных цехов и по предприятию в целом подсчитать средний процент”
 
При чем тут алгоритм сортировки ?
 
Код:
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));
 
^-- это был я
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab