How to calculate partial sum (sum vector elements in the range of the corresponding index of the result vector) in C++

1 Answer

0 votes
#include <iostream>  
#include <numeric>
#include <vector> 

using std::vector;
using std::cout;
using std::endl;

int main()
{
	vector<int> v1{ 0, 1, 2, 3, 4 }, v2{ 0, 0, 0, 0, 0 };

	/*
	v2[0] = v1[0] = 0
	v2[1] = v1[0] + v1[1] = 0 + 1 = 1
	v2[2] = v1[0] + v1[1] + v1[2] = 0 + 1 + 2 = 3
	v2[3] = v1[0] + v1[1] + v1[2] + v1[3] = 0 + 1 + 2 + 3 = 6
	v2[4] = v1[0] + v1[1] + v1[2] + v1[3] + v1[4] = 0 + 1 + 2 + 3 + 4 = 10
	*/

	partial_sum(v1.begin(), v1.end(), v2.begin());


	for (int i = 0; i < v2.size(); i++)
		cout << v2[i] << " ";

	cout << endl;

	return 0;
}

/*
run:

0 1 3 6 10

*/

 



answered Apr 24, 2018 by avibootz
edited Apr 24, 2018 by avibootz

Related questions

1 answer 146 views
146 views asked Apr 24, 2018 by avibootz
1 answer 116 views
116 views asked Apr 30, 2018 by avibootz
1 answer 77 views
1 answer 152 views
...