当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ 数组求和accumulate()用法及代码示例


在C++中,我们可以使用accumulate()快速找到数组总和

// C++ program to demonstrate working of accumulate() 
#include <iostream>  
#include <numeric>      
using namespace std; 
   
// User defined function that returns sum of 
// arr[] using accumulate() library function. 
int arraySum(int a[], int n)  
{ 
    int initial_sum  = 0;  
    return accumulate(a, a+n, initial_sum); 
} 
   
int main()  
{ 
    int a[] = {5 , 10 , 15} ; 
    int n = sizeof(a)/sizeof(a[0]); 
    cout << arraySum(a, n); 
    return 0; 
}

输出:

30

向量的总和



// C++ program to demonstrate working of accumulate() 
#include <iostream>  
#include <vector>  
#include <numeric>      
using namespace std; 
   
// User defined function that returns sum of 
// arr[] using accumulate() library function. 
int arraySum(vector<int> &v)  
{ 
    int initial_sum  = 0;  
    return accumulate(v.begin(), v.end(), initial_sum); 
} 
   
int main()  
{ 
    vector<int> v{5 , 10 , 15} ; 
    cout << arraySum(v); 
    return 0; 
}

输出:

30

我们还可以使用自定义函数进行累加。在C++ STL中引用数字标头|设置1(accumulate()和partial_sum())以获得详细信息。





注:本文由纯净天空筛选整理自 Array sum in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。