我有一個雙打的矢量,我需要創建另一個數組,它是第一個元素的累積和。例如;如何計算C++中雙精度矢量的累加和?
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];
是否有一個內置函數將執行上述累計和?
我有一個雙打的矢量,我需要創建另一個數組,它是第一個元素的累積和。例如;如何計算C++中雙精度矢量的累加和?
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];
是否有一個內置函數將執行上述累計和?
無需測試它,像
std::partial_sum(Array.begin(), Array.end(), Sum.begin(), plus<double>());
應該做的伎倆,如果是C++。 (實際上,plus<double>()
可以默認出廠,it seems。)
如果你想明確地傳遞二進制操作,它必須是'std :: plus
謝謝,我一直誤會!現在,那是加上
#include
您使用哪種語言? – Oded 2010-07-20 09:03:27
@Oded:這很可能是包含std名稱空間的C++。任何確認Wawel? – Akusete 2010-07-20 09:04:05
@Akusete - 可能,但可以是任何支持''''通用語法並具有類似於C的結構(Java,C#,C++ ...)的語言 – Oded 2010-07-20 09:05:01