どうも、ちょげ(@chogetarou)です。
std::reduce()
でVectorの要素の平均値を取得する方法を紹介します。
方法

でVectorの要素の平均値を取得するには、size()を使います。std::reduce()
まず、numericをインクルードします。
#include <numeric>
次に、
を呼び出します。std::reduce()
の第1引数にVectorのbegin()、第2引数にVectorのend()を指定します。std::reduce()
の第3引数に「0.0」を指定します。std::reduce()
そして、std::reduce()
の結果を、Vectorのsize()で割ります。
//vect=任意のVector
double average = std::reduce(vect.begin(), vect.end(), 0.0) / vect.size();
上記の割り算は、Vectorの平均値を取得します。
使用例
#include <iostream>
#include <vector>
#include <numeric>
using namespace std;
int main(void){
vector<int> num = { 1, 2, 3, 4, 5, 6 };
double average = reduce(num.begin(), num.end(), 0.0) / num.size();
cout << average;
}
出力:
3.5
コメント