Averages/Arithmetic mean: Difference between revisions

Line 212:
<lang cpp>#include <vector>
 
const double mean(const std::vector<double>& numbers)
{
if (numbers.size() == 0)
Line 228:
#include <algorithm>
 
const double mean(const std::vector<double>& numbers)
{
if (numbers.empty())
return 0.0;
return std::accumulate(numbers.begin(), numbers.end(), 0.0) / numbers.size();
}</lang>
 
Idiomatic version templated on any kind of iterator (not realy useful):
 
<lang cpp>#include <iterator>
Line 241:
 
template <typename Iterator>
const double mean(Iterator begin, Iterator end)
{
if (begin == end)
return 0.0;
return std::accumulate(begin, end, 0.0) / std::distance(begin, end);
}</lang>
Anonymous user