A<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B_Tutorial%2Fvector%2FAlgorithm</id>
		<title>C++ Tutorial/vector/Algorithm - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B_Tutorial%2Fvector%2FAlgorithm"/>
		<link rel="alternate" type="text/html" href="http://www.cppe.ru/index.php?title=C%2B%2B_Tutorial/vector/Algorithm&amp;action=history"/>
		<updated>2026-04-17T19:33:56Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.cppe.ru/index.php?title=C%2B%2B_Tutorial/vector/Algorithm&amp;diff=2209&amp;oldid=prev</id>
		<title> в 14:21, 25 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.cppe.ru/index.php?title=C%2B%2B_Tutorial/vector/Algorithm&amp;diff=2209&amp;oldid=prev"/>
				<updated>2010-05-25T14:21:17Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 14:21, 25 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.cppe.ru/index.php?title=C%2B%2B_Tutorial/vector/Algorithm&amp;diff=2210&amp;oldid=prev</id>
		<title>Admin: 1 версия:&amp;#32;Импорт контента...</title>
		<link rel="alternate" type="text/html" href="http://www.cppe.ru/index.php?title=C%2B%2B_Tutorial/vector/Algorithm&amp;diff=2210&amp;oldid=prev"/>
				<updated>2010-05-25T10:29:08Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия: Импорт контента...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Fill elements in a vector with custom generator==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
#include &amp;lt;algorithm&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int Fibonacci(void){&lt;br /&gt;
  static int r;&lt;br /&gt;
  static int f1 = 0;&lt;br /&gt;
  static int f2 = 1;&lt;br /&gt;
  r = f1 + f2;&lt;br /&gt;
  f1 = f2;&lt;br /&gt;
  f2 = r;&lt;br /&gt;
  return f1;&lt;br /&gt;
}&lt;br /&gt;
int main(void){&lt;br /&gt;
  const int VECTOR_SIZE = 15;&lt;br /&gt;
  typedef vector&amp;lt;int&amp;gt; IntVector;&lt;br /&gt;
  typedef IntVector::iterator IntVectorIt;&lt;br /&gt;
  IntVector Numbers(VECTOR_SIZE);&lt;br /&gt;
  IntVectorIt start, end , it;&lt;br /&gt;
  int i;&lt;br /&gt;
  for(i = 0; i &amp;lt; VECTOR_SIZE; i++)&lt;br /&gt;
    Numbers[i] = i * i;&lt;br /&gt;
  start = Numbers.begin();&lt;br /&gt;
  end = Numbers.end();&lt;br /&gt;
  for (it = start; it != end; it++)&lt;br /&gt;
    cout &amp;lt;&amp;lt; *it &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
  generate_n(start + 5, Numbers.size() - 5, Fibonacci);&lt;br /&gt;
  for (it = start; it != end; it++)&lt;br /&gt;
  cout &amp;lt;&amp;lt; *it &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==find_if, bind2nd and greater_equal==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;algorithm&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;functional&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(int argc, char** argv)&lt;br /&gt;
{&lt;br /&gt;
  int num;&lt;br /&gt;
  vector&amp;lt;int&amp;gt; myVector;&lt;br /&gt;
  while (true) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter a test score to add (0 to stop): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; num;&lt;br /&gt;
    if (num == 0) {&lt;br /&gt;
      break;&lt;br /&gt;
    }&lt;br /&gt;
    myVector.push_back(num);&lt;br /&gt;
  }&lt;br /&gt;
  vector&amp;lt;int&amp;gt;::iterator it = find_if(myVector.begin(), myVector.end(),bind2nd(greater_equal&amp;lt;int&amp;gt;(), 100));&lt;br /&gt;
  if (it == myVector.end()) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;No perfect scores\n&amp;quot;;&lt;br /&gt;
  } else {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Found a \&amp;quot;perfect\&amp;quot; score of &amp;quot; &amp;lt;&amp;lt; *it &amp;lt;&amp;lt; endl;&lt;br /&gt;
  }&lt;br /&gt;
  return (0);&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Find the first element in the range (first, last + 1) that matches value==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;algorithm&amp;gt;&lt;br /&gt;
using namespace std ;&lt;br /&gt;
int main(void)&lt;br /&gt;
 {&lt;br /&gt;
   const int ARRAY_SIZE = 8;&lt;br /&gt;
   int IntArray[ARRAY_SIZE] = { 1, 2, 3, 4, 4, 5, 6, 7 };&lt;br /&gt;
   int *location ;  //stores the position of the first matching element.&lt;br /&gt;
   int i;&lt;br /&gt;
   int value = 4;&lt;br /&gt;
   // print content of IntArray&lt;br /&gt;
   for (i = 0; i &amp;lt; ARRAY_SIZE; i++)&lt;br /&gt;
     cout &amp;lt;&amp;lt; IntArray[i] &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
   //Find the first element in the range (first, last + 1) that matches value.&lt;br /&gt;
   location = find(IntArray, IntArray + ARRAY_SIZE, value);&lt;br /&gt;
   &lt;br /&gt;
   //print the matching element if any was found&lt;br /&gt;
   if (location != IntArray + ARRAY_SIZE)  &lt;br /&gt;
     cout &amp;lt;&amp;lt; &amp;quot;First element that matches &amp;quot; &amp;lt;&amp;lt; value &amp;lt;&amp;lt; &amp;quot; is at location &amp;quot;&lt;br /&gt;
     &amp;lt;&amp;lt; (location - IntArray) &amp;lt;&amp;lt; endl;&lt;br /&gt;
   else                    &lt;br /&gt;
     cout &amp;lt;&amp;lt; &amp;quot;The sequence does not contain any elements with value &amp;quot; &amp;lt;&amp;lt; value &amp;lt;&amp;lt; endl;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==for_each element in a vector apply custom function==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
#include &amp;lt;algorithm&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
void PrintCube(int n)&lt;br /&gt;
{&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;The cube of &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot; is &amp;quot; &amp;lt;&amp;lt; n * n * n &amp;lt;&amp;lt; endl;&lt;br /&gt;
}&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
    const int VECTOR_SIZE = 8 ;&lt;br /&gt;
    typedef vector&amp;lt;int &amp;gt; IntVector ;    &lt;br /&gt;
    typedef IntVector::iterator IntVectorIt;&lt;br /&gt;
    IntVector Numbers(VECTOR_SIZE) ;    &lt;br /&gt;
    IntVectorIt start, end, it ;      &lt;br /&gt;
    int i ;&lt;br /&gt;
    for (i = 0; i &amp;lt; VECTOR_SIZE; i++)&lt;br /&gt;
        Numbers[i] = i + 1 ;&lt;br /&gt;
    start = Numbers.begin() ;   &lt;br /&gt;
    end = Numbers.end() ;       &lt;br /&gt;
    for(it = start; it != end; it++)&lt;br /&gt;
        cout &amp;lt;&amp;lt; *it &amp;lt;&amp;lt; &amp;quot; &amp;quot; ;&lt;br /&gt;
    for_each(start, end, PrintCube);&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Inner product of a vector and another vector==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;vector&amp;gt; &lt;br /&gt;
#include &amp;lt;iostream&amp;gt; &lt;br /&gt;
#include &amp;lt;numeric&amp;gt;   &lt;br /&gt;
using namespace std; &lt;br /&gt;
template &amp;lt;class T&amp;gt;&lt;br /&gt;
void print(T&amp;amp; c){&lt;br /&gt;
   for( typename T::iterator i = c.begin(); i != c.end(); i++ ){&lt;br /&gt;
      std::cout &amp;lt;&amp;lt; *i &amp;lt;&amp;lt; endl;&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
int main() { &lt;br /&gt;
  vector&amp;lt;double&amp;gt; vec1(4, 2.0);  // Length 4, all values == 2.0 &lt;br /&gt;
  vector&amp;lt;double&amp;gt; vec2(4, 4.0);  // Length 4, all values == 4.0 &lt;br /&gt;
  double init = 0.0; &lt;br /&gt;
  double summation = accumulate (vec1.begin(), vec1.end(), init); &lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Sum of elements in vector 1: &amp;quot; &amp;lt;&amp;lt; summation &amp;lt;&amp;lt; endl; &lt;br /&gt;
  double ip = inner_product(vec1.begin(), vec1.end(), vec2.begin(), init); &lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Inner product of vec1 and vec2: &amp;quot; &amp;lt;&amp;lt; ip &amp;lt;&amp;lt; endl; &lt;br /&gt;
  int size = 6; &lt;br /&gt;
  int seed_value = 2; &lt;br /&gt;
  vector&amp;lt;int&amp;gt; vec3(size, seed_value); &lt;br /&gt;
  vector&amp;lt;int&amp;gt; result(size); &lt;br /&gt;
  partial_sum(vec3.begin(), vec3.end(), result.begin()); &lt;br /&gt;
  print(result); &lt;br /&gt;
  int sz = 10; &lt;br /&gt;
  int value = 2; &lt;br /&gt;
  vector&amp;lt;int&amp;gt; vec4(sz); &lt;br /&gt;
  vector&amp;lt;int&amp;gt;::iterator it; &lt;br /&gt;
  for (it = vec4.begin(); it != vec4.end(); it++) &lt;br /&gt;
  { &lt;br /&gt;
    (*it) = value; &lt;br /&gt;
    value += 1; &lt;br /&gt;
  } &lt;br /&gt;
  vector&amp;lt;int&amp;gt; result2(vec4.size()); &lt;br /&gt;
  adjacent_difference(vec4.begin(), vec4.end(), result2.begin()); &lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;The adjacent difference of the vector vec4\n&amp;quot;; &lt;br /&gt;
  print(result2); &lt;br /&gt;
  return 0; &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==merge the elements of NumbersVestor and NumbersList and place the results in NumbersDeque==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
#include &amp;lt;algorithm&amp;gt;&lt;br /&gt;
#include &amp;lt;list&amp;gt;&lt;br /&gt;
#include &amp;lt;deque&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
  const int MAX_ELEMENTS = 8;&lt;br /&gt;
  typedef vector&amp;lt;int&amp;gt; IntVector;    &lt;br /&gt;
  typedef IntVector::iterator IntVectorIt;&lt;br /&gt;
  typedef list&amp;lt;int&amp;gt; IntList;      &lt;br /&gt;
  typedef IntList::iterator IntListIt;&lt;br /&gt;
  typedef deque&amp;lt;int&amp;gt; IntDeque;    &lt;br /&gt;
  typedef IntDeque::iterator IntDequeIt;&lt;br /&gt;
  IntVector NumbersVector(MAX_ELEMENTS);&lt;br /&gt;
  IntVectorIt startv, endv, itv;&lt;br /&gt;
  IntList NumbersList;&lt;br /&gt;
  IntListIt first, last, itl;&lt;br /&gt;
  IntDeque NumbersDeque(2 * MAX_ELEMENTS);&lt;br /&gt;
  IntDequeIt itd;&lt;br /&gt;
  NumbersVector[0] = 4;&lt;br /&gt;
  NumbersVector[1] = 10;&lt;br /&gt;
  NumbersVector[2] = 70;&lt;br /&gt;
  NumbersVector[3] = 10;&lt;br /&gt;
  NumbersVector[4] = 30;&lt;br /&gt;
  NumbersVector[5] = 69;&lt;br /&gt;
  NumbersVector[6] = 96;&lt;br /&gt;
  NumbersVector[7] = 100;&lt;br /&gt;
  first = NumbersList.begin();  &lt;br /&gt;
  last = NumbersList.end();    &lt;br /&gt;
  //place the results in NumbersDeque&lt;br /&gt;
  merge(startv, endv, first, last, NumbersDeque.begin());&lt;br /&gt;
  for (itd = NumbersDeque.begin(); itd != NumbersDeque.end(); itd++)&lt;br /&gt;
    cout &amp;lt;&amp;lt; *itd &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mutating Sequence Algorithm==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
#include &amp;lt;algorithm&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
template&amp;lt;class T&amp;gt;&lt;br /&gt;
class Print&lt;br /&gt;
{&lt;br /&gt;
public:&lt;br /&gt;
     void operator()(const T&amp;amp; t)&lt;br /&gt;
     {&lt;br /&gt;
         cout &amp;lt;&amp;lt; t &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
     }&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
     Print&amp;lt;int&amp;gt;    DoPrint;&lt;br /&gt;
     vector&amp;lt;int&amp;gt;    vInt(10);&lt;br /&gt;
 &lt;br /&gt;
     fill(vInt.begin(), vInt.begin() + 5, 1);&lt;br /&gt;
     fill(vInt.begin() + 5, vInt.end(), 2);&lt;br /&gt;
 &lt;br /&gt;
     for_each(vInt.begin(), vInt.end(), DoPrint);&lt;br /&gt;
 &lt;br /&gt;
     return 0;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==random number generation in quantitative finance==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;vector&amp;gt; &lt;br /&gt;
#include &amp;lt;iostream&amp;gt; &lt;br /&gt;
#include &amp;lt;algorithm&amp;gt; &lt;br /&gt;
#include &amp;lt;time.h&amp;gt; &lt;br /&gt;
using namespace std; &lt;br /&gt;
void print(const vector&amp;lt;int&amp;gt;&amp;amp; v) &lt;br /&gt;
{ &lt;br /&gt;
  vector&amp;lt;int&amp;gt;::const_iterator i; &lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;[&amp;quot;; &lt;br /&gt;
  for (i=v.begin(); i!=v.end(); i++) cout &amp;lt;&amp;lt; *i &amp;lt;&amp;lt; &amp;quot;, &amp;quot;; &lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;]&amp;quot; &amp;lt;&amp;lt; endl; &lt;br /&gt;
} &lt;br /&gt;
int main() &lt;br /&gt;
{ &lt;br /&gt;
  srand((unsigned) time (NULL)); &lt;br /&gt;
  int Size = 5; &lt;br /&gt;
  vector&amp;lt;int&amp;gt; v1, v2; &lt;br /&gt;
  int i; &lt;br /&gt;
  for (i=0; i&amp;lt;= Size; i++) &lt;br /&gt;
    v1.push_back(rand()); &lt;br /&gt;
  for (i=0; i&amp;lt; Size; i++) &lt;br /&gt;
    v2.push_back(rand()); &lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Two random lists&amp;quot; &amp;lt;&amp;lt; endl; &lt;br /&gt;
  print(v1); &lt;br /&gt;
  print(v2); &lt;br /&gt;
  sort(v1.begin(), v1.end()); &lt;br /&gt;
  sort(v2.begin(), v2.end()); &lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Two sorted lists&amp;quot; &amp;lt;&amp;lt; endl; &lt;br /&gt;
  print(v1); &lt;br /&gt;
  print(v2); &lt;br /&gt;
  // Merge the two lists to a third list &lt;br /&gt;
  vector&amp;lt;int&amp;gt; v3(v1.size()+v2.size()); &lt;br /&gt;
  cout &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; &amp;quot;Merge the two lists&amp;quot; &amp;lt;&amp;lt; endl; &lt;br /&gt;
  merge(v1.begin(), v1.end(), v2.begin(), v2.end(), v3.begin()); &lt;br /&gt;
  print(v3); &lt;br /&gt;
  return 0; &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==shuffle the elements in a random order==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
#include &amp;lt;algorithm&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
    const int VECTOR_SIZE = 8 ;&lt;br /&gt;
    typedef vector&amp;lt;int&amp;gt; IntVector ;&lt;br /&gt;
    typedef IntVector::iterator IntVectorIt ;&lt;br /&gt;
    IntVector Numbers(VECTOR_SIZE) ;&lt;br /&gt;
    IntVectorIt start, end, it ;&lt;br /&gt;
    Numbers[0] = 4 ;&lt;br /&gt;
    Numbers[1] = 10;&lt;br /&gt;
    Numbers[2] = 70 ;&lt;br /&gt;
    Numbers[3] = 30 ;&lt;br /&gt;
    Numbers[4] = 10;&lt;br /&gt;
    Numbers[5] = 69 ;&lt;br /&gt;
    Numbers[6] = 96 ;&lt;br /&gt;
    Numbers[7] = 100;&lt;br /&gt;
    start = Numbers.begin() ;   &lt;br /&gt;
    end = Numbers.end() ;       &lt;br /&gt;
    for(it = start; it != end; it++)&lt;br /&gt;
        cout &amp;lt;&amp;lt; *it &amp;lt;&amp;lt; &amp;quot; &amp;quot; ;&lt;br /&gt;
    random_shuffle(start, end) ;&lt;br /&gt;
    for(it = start; it != end; it++)&lt;br /&gt;
        cout &amp;lt;&amp;lt; *it &amp;lt;&amp;lt; &amp;quot; &amp;quot; ;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==The adjacent difference of the vector==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;vector&amp;gt; &lt;br /&gt;
#include &amp;lt;iostream&amp;gt; &lt;br /&gt;
#include &amp;lt;numeric&amp;gt;   &lt;br /&gt;
using namespace std; &lt;br /&gt;
template &amp;lt;class T&amp;gt;&lt;br /&gt;
void print(T&amp;amp; c){&lt;br /&gt;
   for( typename T::iterator i = c.begin(); i != c.end(); i++ ){&lt;br /&gt;
      std::cout &amp;lt;&amp;lt; *i &amp;lt;&amp;lt; endl;&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
int main() { &lt;br /&gt;
  vector&amp;lt;double&amp;gt; vec1(4, 2.0);  // Length 4, all values == 2.0 &lt;br /&gt;
  vector&amp;lt;double&amp;gt; vec2(4, 4.0);  // Length 4, all values == 4.0 &lt;br /&gt;
  double init = 0.0; &lt;br /&gt;
  double summation = accumulate (vec1.begin(), vec1.end(), init); &lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Sum of elements in vector 1: &amp;quot; &amp;lt;&amp;lt; summation &amp;lt;&amp;lt; endl; &lt;br /&gt;
  double ip = inner_product(vec1.begin(), vec1.end(), vec2.begin(), init); &lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Inner product of vec1 and vec2: &amp;quot; &amp;lt;&amp;lt; ip &amp;lt;&amp;lt; endl; &lt;br /&gt;
  int size = 6; &lt;br /&gt;
  int seed_value = 2; &lt;br /&gt;
  vector&amp;lt;int&amp;gt; vec3(size, seed_value); &lt;br /&gt;
  vector&amp;lt;int&amp;gt; result(size); &lt;br /&gt;
  partial_sum(vec3.begin(), vec3.end(), result.begin()); &lt;br /&gt;
  print(result); &lt;br /&gt;
  int sz = 10; &lt;br /&gt;
  int value = 2; &lt;br /&gt;
  vector&amp;lt;int&amp;gt; vec4(sz); &lt;br /&gt;
  vector&amp;lt;int&amp;gt;::iterator it; &lt;br /&gt;
  for (it = vec4.begin(); it != vec4.end(); it++) &lt;br /&gt;
  { &lt;br /&gt;
    (*it) = value; &lt;br /&gt;
    value += 1; &lt;br /&gt;
  } &lt;br /&gt;
  vector&amp;lt;int&amp;gt; result2(vec4.size()); &lt;br /&gt;
  adjacent_difference(vec4.begin(), vec4.end(), result2.begin()); &lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;The adjacent difference of the vector vec4\n&amp;quot;; &lt;br /&gt;
  print(result2); &lt;br /&gt;
  return 0; &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Use count to determine the number of &amp;quot;0&amp;quot;s in the vector==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;algorithm&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
template &amp;lt;typename elementType&amp;gt;&lt;br /&gt;
bool IsEven (const elementType&amp;amp; number)&lt;br /&gt;
{&lt;br /&gt;
    return ((number % 2) == 0);&lt;br /&gt;
}&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
    vector &amp;lt;int&amp;gt; v;&lt;br /&gt;
    for (int nNum = -9; nNum &amp;lt; 10; ++ nNum)&lt;br /&gt;
        v.push_back (nNum);&lt;br /&gt;
    vector &amp;lt;int&amp;gt;::const_iterator i;&lt;br /&gt;
    for ( i = v.begin (); i != v.end (); ++ i )&lt;br /&gt;
        cout &amp;lt;&amp;lt; *i &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
    cout &amp;lt;&amp;lt; v.size () &amp;lt;&amp;lt; &amp;quot;&amp;quot; elements&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
    // Use count to determine the number of &amp;quot;0&amp;quot;s in the vector&lt;br /&gt;
    size_t nNumZeroes = count (v.begin (),v.end (),0);&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Number of instances of &amp;quot;0&amp;quot;: &amp;quot; &amp;lt;&amp;lt; nNumZeroes &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; endl;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Searching for an element of value 3 using find: &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Use the count_if algorithm with the unary predicate IsEven==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;algorithm&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
template &amp;lt;typename elementType&amp;gt;&lt;br /&gt;
bool IsEven (const elementType&amp;amp; number)&lt;br /&gt;
{&lt;br /&gt;
    return ((number % 2) == 0);&lt;br /&gt;
}&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
    vector &amp;lt;int&amp;gt; v;&lt;br /&gt;
    for (int nNum = -9; nNum &amp;lt; 10; ++ nNum)&lt;br /&gt;
        v.push_back (nNum);&lt;br /&gt;
    vector &amp;lt;int&amp;gt;::const_iterator i;&lt;br /&gt;
    for ( i = v.begin (); i != v.end (); ++ i )&lt;br /&gt;
        cout &amp;lt;&amp;lt; *i &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
    cout &amp;lt;&amp;lt; v.size () &amp;lt;&amp;lt; &amp;quot;&amp;quot; elements&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
    // Use the count_if algorithm with the unary predicate IsEven:&lt;br /&gt;
    size_t nNumEvenElements = count_if (v.begin (),v.end (), IsEven &amp;lt;int&amp;gt; );&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Number of even elements: &amp;quot; &amp;lt;&amp;lt; nNumEvenElements &amp;lt;&amp;lt; endl;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Number of odd elements: &amp;quot;;&lt;br /&gt;
    cout &amp;lt;&amp;lt; v.size () - nNumEvenElements &amp;lt;&amp;lt; endl;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using the for_each() Algorithm==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
#include &amp;lt;algorithm&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
template&amp;lt;class T&amp;gt;&lt;br /&gt;
class Print&lt;br /&gt;
{&lt;br /&gt;
public:&lt;br /&gt;
    void operator()(const T&amp;amp; t)&lt;br /&gt;
    {&lt;br /&gt;
        cout &amp;lt;&amp;lt; t &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    Print&amp;lt;int&amp;gt;    DoPrint;&lt;br /&gt;
    vector&amp;lt;int&amp;gt;    vInt(5);&lt;br /&gt;
    for (int i = 0; i &amp;lt; 5; ++i)&lt;br /&gt;
        vInt[i] = i * 3;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;for_each()\n&amp;quot;;&lt;br /&gt;
    for_each(vInt.begin(), vInt.end(), DoPrint);&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>