どうも、ちょげ(@chogetarou)です。
reduce()を使ってリスト(List)の平均値を取得する方法を紹介します。
方法

reduce()を使ってリスト(List)の平均値を取得するには、要素数を使います。
まず、numericをインクルードします。
#include <numeric>
次に、reduce()を呼び出します。
reduce()の第1引数にリストのイテレータの先頭、第2引数にリストのイテレータの末尾、第3引数に「0」もしくは「0.0」を指定します。
そして、reduce()の戻り値をリストの要素数で割ります。
//myList=対象のリスト,
double average = reduce(myList.begin(), myList.end(), 0.0) / myList.size();
上記の割り算は、対象のリスト(List)の平均値を取得します。
使用例
#include <iostream>
#include <list>
#include <numeric>
using namespace std;
int main(void){
list<int> nums = { 1, 2, 3, 4, 5, 6 };
double average = reduce(nums.begin(), nums.end(), 0.0) / nums.size();
cout << average << endl;
return 0;
}
出力:
3.5
コメント