#include <algorithm>
#include <iostream>
#include <numeric>
#include <string>
#include <vector>
struct User
{
std::string name;
int age;
bool active;
};
int main()
{
std::vector<User> users = {
{"Alice", 30, true},
{"Bob", 25, false},
{"Charlie", 35, true},
{"Diana", 28, true},
{"Eve", 22, false},
};
std::vector<User> active;
std::copy_if(users.begin(), users.end(), std::back_inserter(active),
[](const User& u) { return u.active; });
std::sort(active.begin(), active.end(),
[](const User& a, const User& b) { return a.name < b.name; });
for (size_t i = 0; i < active.size(); i++) {
std::cout << active[i].name;
if (i < active.size() - 1) std::cout << ", ";
}
std::cout << std::endl;
double avg = std::accumulate(active.begin(), active.end(), 0.0,
[](double sum, const User& u) { return sum + u.age; }) / active.size();
std::cout << "Průměrný věk: " << avg << std::endl;
return 0;
}