Translate

viernes, 8 de marzo de 2024

Un ejemplo utilizando STL de C++


Voy hacer unos post con ejemplos de utilización de la Stl de C++. Vamos con el primero: 

Leamos una cantidad arbitraria de valores enteros (n>=1) del archivo “numbers.txt” y mostramos:

  • Mínimo, máximo
  • Media
  • Promedio
  • Media geométrica ((y1 * y2 * … yn)^(1/n))

Con Stl sería así: 

vector<int> v;

copy(istream_iterator<int>(ifstream("numbers.txt")), istream_iterator<int>(), back_inserter(v));

sort(v.begin(), v.end());

cout << "min/max: " << v.front() << " " << v.back() << endl;

cout << "median : " << *(v.begin() + (v.size()/2)) << endl;

cout << "average: " << accumulate(v.begin(), v.end(), 0.0) / v.size() << endl;

cout << "geomean: " << pow(accumulate(v.begin(),v.end(),1.0,multiplies<double>()), 1.0/v.size()) 

<< endl;

Y listo!