Как рассчитать совокупную сумму для вектора пар в C ++? - PullRequest
11 голосов
/ 20 июля 2010

У меня есть вектор двойных чисел, и мне нужно создать еще один массив, который представляет собой совокупную сумму элементов первого. Например;

 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]; 

Есть ли встроенная функция, которая будет выполнять вышеуказанную накопленную сумму?

1 Ответ

21 голосов
/ 20 июля 2010

Не проверив, что-то вроде

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

должно сработать, если это C ++. (На самом деле plus<double>() может быть по умолчанию, кажется .)

...