Time and Numeric Utilities
Accumulate Average
std::accumulate folds a sequence of numbers into one total that later calculations can reuse.
Accumulate Average
accumulate_average.cpp
#include <iostream>
#include <numeric>
#include <vector>
int main() {
int extra = ;
std::vector<int> values{8, 12, extra};
int total = std::accumulate(values.begin(), values.end(), 0);
int average = total / static_cast<int>(values.size());
std::cout << "extra=" << extra << std::endl;
std::cout << "total=" << total << std::endl;
std::cout << "average=" << average << std::endl;
return 0;
}
#include <iostream>
#include <numeric>
#include <vector>
int main() {
int extra = ;
std::vector<int> values{8, 12, extra};
int total = std::accumulate(values.begin(), values.end(), 0);
int average = total / static_cast<int>(values.size());
std::cout << "extra=" << extra << std::endl;
std::cout << "total=" << total << std::endl;
std::cout << "average=" << average << std::endl;
return 0;
}
#include <iostream>
#include <numeric>
#include <vector>
int main() {
int extra = ;
std::vector<int> values{8, 12, extra};
int total = std::accumulate(values.begin(), values.end(), 0);
int average = total / static_cast<int>(values.size());
std::cout << "extra=" << extra << std::endl;
std::cout << "total=" << total << std::endl;
std::cout << "average=" << average << std::endl;
return 0;
}
accumulate
`std::accumulate` starts from an initial value and adds each item in order.
integer average
Integer division keeps the whole-number part of the average.