#include #include using namespace std; void sequential_inclusive_scan( vector& x ) { for (int i = 1; i < static_cast(x.size()); ++i) { x[ i ] += x[ i-1 ]; } } void sequential_exclusive_scan( vector& x ) { int previous = x[0]; x[0] = 0; for (int i = 1; i < static_cast(x.size()); ++i) { int current = x[ i ]; x[ i ] = x[ i-1 ] + previous; previous = current; } } int main() { vector x1 = { 1, 3, 5, 7, 9, 20 }; vector x2 = { 1, 3, 5, 7, 9, 20 }; sequential_inclusive_scan( x1 ); cout << "inclusive sacn="; for (auto x : x1) cout << x << " "; cout << endl; sequential_exclusive_scan( x2 ); cout << "exclusive sacn="; for (auto x : x2) cout << x << " "; cout << endl; return EXIT_SUCCESS; }