#include <iostream>
#include <vector>
#include <numeric>
double promedio5mayores(const std::vector<int>& v, int n, int umbral)
{
int delta = n;
double res = std::accumulate(v.begin(), v.end(), 0,
[&n, umbral](int a, int b)
{
if (b >= umbral && n) {
n--;
return a + b;
}
else
return a;
});
return (delta - n) ? res / ((double)delta - n) : 0;
}
int main()
{
std::vector<int> edades; // lista de edades
int e;
std::cout << "edades:\n";
while (std::cin >> e) { // Ctrl+Z para terminar
edades.push_back(e);
}
int n = 5; // edades a computar
int umbral = 18; // mayoría de edad
std::cout << "promedio de las 5 primeras edades mayores que el umbral:\n";
std::cout << promedio5mayores(edades, n, umbral) << '\n';
}