Use transform function to square all elements in an array
/* The following code example is taken from the book
* "The C++ Standard Library - A Tutorial and Reference"
* by Nicolai M. Josuttis, Addison-Wesley, 1999
*
* (C) Copyright Nicolai M. Josuttis 1999.
* Permission to copy, use, modify, sell and distribute this software
* is granted provided this copyright notice appears in all copies.
* This software is provided "as is" without express or implied
* warranty, and with no claim as to its suitability for any purpose.
*/
#include <iostream>
#include <algorithm>
#include <functional>
#include <iterator>
using namespace std;
int main()
{
int coll[] = { 5, 6, 2, 4, 1, 3 };
// square all elements
transform (coll, coll+6, // first source
coll, // second source
coll, // destination
multiplies<int>()); // operation
// print all elements
copy (coll, coll+6,
ostream_iterator<int>(cout," "));
cout << endl;
}
/*
25 36 4 16 1 9
*/
Related examples in the same category