[C++]accumulate()で配列(Array)の合計値を取得するには?

C++

どうも、ちょげ(@chogetarou)です。

accumulate()を使って配列(Array)の合計値を取得する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

accumulate()を使って配列(Array)の合計値を取得するには、3つの引数を使います。

まず、numericを導入します。

#include <numeric>

次に、accumulate()を呼び出します。

accumulate()の第1引数に配列の最初の位置、第2引数に配列の最後の位置(配列に要素数を足した値)を指定します。

そして、accumulate()の第3引数に0を指定します。

int sum = accumulate(array, array + size(array), 0);

上記のaccumulate()は、配列の合計値を取得します。

accumulate()の第2引数の配列の最後の位置をstd::sizeof()で取得する場合は、以下のようになります。

int length = sizeof(array) / sizeof(int);
int sum = accumulate(array, array + length, 0);
スポンサーリンク

使用例

#include <iostream>
#include <numeric>
using namespace std;
int main(void){
    int numbers[5] = {1, 2, 3, 4, 5};
    
    int sum = accumulate(numbers, numbers + size(numbers), 0);
    
    cout << sum << endl;
}
出力:
15

コメント

タイトルとURLをコピーしました