#include
#include
#include
#include
#include
#include
#include
using namespace std;
template
void print(T& c){
for( typename T::iterator i = c.begin(); i != c.end(); i++ ){
std::cout << *i << endl;
}
}
bool in_string( char c, const string target ){
return target.find( c ) != string::npos;
}
int main( ){
vector v( 5, 1 );
partial_sum( v.begin(), v.end(), v.begin() );
print( v);
transform( v.begin(), v.end(), v.begin(),bind1st( divides(), 1 ) );
cout << fixed << setprecision( 2 );
print( v);
// convert to percentages
transform( v.begin(), v.end(), v.begin(),bind1st( multiplies(), 100 ) );
print( v);
// make a sequence starting at -10 and increasing by 100
v.assign( v.size(), 100 );
v[0] = -10;
partial_sum( v.begin(), v.end(), v.begin() );
print( v );
// truncate numbers to fall between 0 and 255 inclusive
replace_if( v.begin(), v.end(),bind2nd( greater(), 255 ), 255 );
replace_if( v.begin(), v.end(), bind2nd( less(), 0 ), 0 );
print( v);
}