如何计算C++中双精度向量的累积和?

Waw*_*100 12 c++ vector cumulative-sum

我有一个双打矢量,我需要创建另一个数组,它是第一个元素的累积和.例如;

 vector<double> Array(10,1);
 vector<double> Sum(10);  

 Sum[0] = Array[0]; 
 for(unsigned int i=1; i<Array.size(); i++)
     Sum[i] = Sum[i-1] + Array[i]; 
Run Code Online (Sandbox Code Playgroud)

是否有内置函数可以执行上述累积和?

Pon*_*gge 23

没有测试它,像

std::partial_sum(Array.begin(), Array.end(), Sum.begin(), plus<double>());

应该做的,如果它是C++.(实际上,似乎plus<double>()可以默认出来.)

  • 谢谢,我总是记错了!现在,加上<double> ungood还是什么......?无论如何,可能总结到1984年!:-) (2认同)
  • 需要使用#include &lt;numeric&gt;才能使用std :: partial_sum。如果Array为std :: vector &lt;double&gt;类型,则绝对不需要std :: plus &lt;double&gt;。 (2认同)