Module 7
Module 7
#include <iostream>
#include <algorithm>
#include <deque>
#include <set>
#include <vector>
#include <functional>
int main()
{
int mynumbers [] = {3,9,0,2,1,4,5};
deque <int> d1 (mynumbers, mynumbers + 7);
deque <int> d2 (7); //line i
transform (d1.begin (), d1.end (), d2.begin (), bind2nd (MultiAdd () ,
1)); //line ii
for_each (d2.begin (), d2.end (), printer);
return 0;
}
#include <iostream>
#include <algorithm>
#include <deque>
#include <set>
#include <vector>
#include <functional>
{
cout << i <<", ";
}
int main()
{
int mynumbers [] = {3,9,0,2,1,4,5};
vector <int> v1 (mynumbers, mynumbers + 7 );
int counter = count_if (v1.begin (), v1.end (), bind1st (less_equal<int>(),4));
//line i
v1.push_back (counter); //line ii
for_each (v1.rbegin (), v1.rend (), printer); //line ii
return 0;
}
#include <iostream>
#include <algorithm>
#include <deque>
#include <set>
#include <vector>
#include <functional>
class Pocket
{
int value;
public:
Pocket (int value): value (value)
{ }
int getValue ()const
{
return value;
}
operator int () const
{
return value;
}
bool operator < (const Pocket & _Right) const
{
return value < _Right.value;
}
};
ostream & operator << (ostream & stream, const Pocket & pocket)
{
stream << pocket.getValue ();
return stream;
}
int main()
{
Pocket mynumbers1 [] = {3,9,0,2,1,4,5};
vector <Pocket> v1 (mynumbers1, mynumbers1 + 7);
vector <Pocket> v2 (7,0);
transform (v1.begin (), v1.end (), v2.begin (), bind1st (ptr_fun (Add <Pocket>
()), 1)); //line ii
for_each (v2.rbegin (), v2.rend (), printer);
return 0;
}
#include <iostream>
#include <algorithm>
#include <deque>
#include <set>
#include <vector>
#include <functional>
int main()
{
int mynumbers1 [] = {3,9,0,2};
int mynumbers2 [] = {6,1,4,5};
vector <int> v1 (4);
transform (mynumbers1, mynumbers1 + 4, mynumbers2, v1.rbegin (), plus <int>
()); //line ii
for_each (v1.rbegin (), v1.rend (), printer);
return 0;
}
#include <iostream>
#include <algorithm>
#include <deque>
#include <set>
#include <vector>
#include <functional>
class Pocket
{
int value;
public:
Pocket (int value): value (value)
{ }
int getValue ()const
{
return value;
}
operator int () const
{
return value;
}
bool operator < (const Pocket & _Right) const
{
return value < _Right.value;
}
};
ostream & operator << (ostream & stream, const Pocket & pocket)
{
stream << pocket.getValue ();
return stream;
}
int main()
{
Pocket mynumbers1 [] = {3,9,0,2,1,4,5};
Pocket mynumbers2 [] = {3,8,0,1,0,2,2};
vector <Pocket> v1 (mynumbers1, mynumbers1 + 7);
vector <Pocket> v2 (mynumbers2, mynumbers2 + 7);
vector <Pocket> v3 (7,0);
transform (v1.begin (), v1.end (), v2.begin (), v3.begin (), minus <Pocket>
()); //line ii
for_each (v1.rbegin (), v1.rend (), printer);
return 0;
}
#include <iostream>
#include <algorithm>
#include <deque>
#include <set>
#include <vector>
#include <functional>
int main()
{
int mynumbers1 [] = {3,9,0,2,1,4,5};
vector <int> v1 (mynumbers1, mynumbers1 + 7);
vector <int> v2 (7);
transform (v1.begin (), v1.end (), v2.begin (), ptr_fun (Mul)); //line i
vector <int>::iterator it = find_if (v2.begin (), v2.end (), bind2nd (equal_to
<int>(), 7)); //line ii
cout << *it <<endl; //line iii
return 0;
}
#include <iostream>
#include <algorithm>
#include <deque>
#include <set>
#include <vector>
#include <functional>
int main()
{
int mynumbers1 [] = {3,9,0,2,1,4,5};
int mynumbers2 [] = {9,0,2,1,4,5,3};
vector <int> v1 (mynumbers1, mynumbers1 + 7);
vector <int> v2 (mynumbers1, mynumbers1 + 7);
vector <int> v3 (mynumbers2, mynumbers2 + 7); //line i
transform (v1.begin (), v1.end (), v2.rbegin (), v3.begin (), minus <int>());
//line ii
for_each (v3.rbegin (), v3.rend (), printer);
return 0;
}
#include <iostream>
#include <algorithm>
#include <deque>
#include <set>
#include <vector>
#include <functional>
class Pocket
{
int value;
public:
Pocket (int value): value (value)
{ }
int getValue ()const
{
return value;
}
operator int () const
{
return value;
}
bool operator < (const Pocket & _Right) const
{
return value < _Right.value;
}
};
ostream & operator << (ostream & stream, const Pocket & pocket)
{
stream << pocket.getValue ();
return stream;
}
int main()
{
Pocket mynumbers1 [] = {3,9,0,2,1,4,5};
vector <Pocket> v1 (mynumbers1, mynumbers1 + 7);
transform (v1.begin (), v1.end (), v1.begin (), bind2nd (plus <Pocket> (), 1));
//line ii
for_each (v1.rbegin (), v1.rend (), printer);
return 0;
}
#include <iostream>
#include <algorithm>
#include <deque>
#include <set>
#include <vector>
#include <functional>
struct Add
{
int operator () (const int & _Left, const int & _Right) const //line i
{
return _Left + _Right;
}
};
int main()
{
int mynumbers [] = {3,9,0,2,1,4,5};
vector < int > v1 (mynumbers, mynumbers + 7);
vector < int > v2 (7);
transform (v1.begin (), v1.end (), v2.begin(), bind1st (ptr_fun (Add ()), 1));
//line ii
for_each (v2.begin (), v2.end (), printer);
return 0;
}
#include <iostream>
#include <algorithm>
#include <deque>
#include <set>
#include <vector>
#include <functional>
{
cout << i <<", ";
}
int main()
{
int mynumbers [] = {3,9,0,2,1,4,5};
vector <int> v1 (mynumbers, mynumbers + 7 );
int counter = count_if (v1.begin (), v1.end (), bind1st (plus<int>(),4));
//line i
v1.push_back (counter); //line ii
for_each (v1.rbegin (), v1.rend (), printer); //line ii
return 0;
}
#include <iostream>
#include <algorithm>
#include <deque>
#include <set>
#include <vector>
#include <functional>
using namespace std;
int main ()
{
int mynumbers [] = {3,9,0,2,1,4,5};
vector <int> v1 (mynumbers, mynumbers + 7);
vector <int> v2 (7);
transform (v1.begin (), v1.end(), v2.begin (), bind1st (Add(), -1)); //line ii
for_each (v2.rbegin (), v2.rend(), printer);
return 0;
}
#include <iostream>
#include <algorithm>
#include <deque>
#include <set>
#include <vector>
#include <functional>
int main()
{
int mynumbers [] = {3,9,0,2,1,4,5};
vector <int> v1 (mynumbers, mynumbers + 7);
vector <int> v2 (7);
transform (v1.begin (), v1.end (), v2.begin (), bind1st (Add , -1)); //line ii
for_each (v2.rbegin (), v2.rend (), printer);
return 0;
}
#include <iostream>
#include <algorithm>
#include <deque>
#include <set>
#include <vector>
#include <functional>
class Pocket
{
int value;
public:
Pocket (int value): value (value)
{ }
int getValue ()const
{
return value;
}
bool operator < (const Pocket & _Right) const
{
return value < _Right.value;
}
operator int () const
{
return value;
}
};
ostream & operator << (ostream & stream, const Pocket & pocket)
{
stream << pocket.getValue (); //line i
return stream;
}
void printer (Pocket i)
{
cout << i <<", ";
}
int main()
{
Pocket mynumbers1 [] = {3,9,0,2};
Pocket mynumbers2 [] = {2,1,4,5};
vector <Pocket> v1 (5,0);
transform (mynumbers1, mynumbers1 + 4, mynumbers2, v1.rbegin (), plus <Pocket>
()); //line ii
for_each (v1.rbegin (), v1.rend (), printer);
return 0;
}
14, the program outputs 5,4,1,2,0,9,3
#include <iostream>
#include <algorithm>
#include <deque>
#include <set>
#include <vector>
#include <functional>
class Pocket
{
int value;
public:
Pocket (int value): value (value)
{ }
int getValue ()const
{
return value;
}
operator int () const
{
return value;
}
bool operator < (const Pocket & _Right) const
{
return value < _Right.value;
}
};
ostream & operator << (ostream & stream, const Pocket & pocket)
{
stream << pocket.getValue ();
return stream;
}
int main()
{
Pocket mynumbers1 [] = {3,9,0,2,1,4,5};
vector <Pocket> v1 (mynumbers1, mynumbers1 + 7);
vector <Pocket> v2 (7,0);
transform (v1.begin (), v1.end (), v2.begin (), bind2nd (Add <Pocket> (),
0)); //line ii
for_each (v2.rbegin (), v2.rend (), printer);
return 0;
}
#include <iostream>
#include <algorithm>
#include <deque>
#include <set>
#include <vector>
#include <functional>
class Pocket
{
int value;
public:
Pocket (int value): value (value)
{ }
int getValue ()const
{
return value;
}
operator int () const
{
return value;
}
bool operator < (const Pocket & _Right) const
{
return value < _Right.value;
}
};
ostream & operator << (ostream & stream, const Pocket & pocket)
{
stream << pocket.getValue ();
return stream;
}
void printer (Pocket i)
{ //line i
cout << i <<", ";
}
int main()
{
Pocket mynumbers1 [] = {3,9,0,2,1,4,5};
vector <Pocket> v1 (mynumbers1, mynumbers1 + 7);
for_each (v1.begin (), v1.end (), bind1st (plus<Pocket>(),1)); //line ii
for_each (v1.rbegin (), v1.rend (), printer);
return 0;
}
class Pocket
{
int value;
public:
Pocket (int value): value (value)
{ }
int getValue ()const
{
return value;
}
operator int () const
{
return value;
}
bool operator < (const Pocket & _Right) const
{
return value < _Right.value;
}
};
ostream & operator << (ostream & stream, const Pocket & pocket)
{
stream << pocket.getValue ();
return stream;
}
void printer (Pocket i)
{ //line i
cout << i <<", ";
}
struct Add:public binary_function < Pocket, Pocket, Pocket >
{
Pocket operator () (const Pocket & _Left, const Pocket & _Right) const
{
return _Left + _Right;
}
};
int main()
{
Pocket mynumbers1 [] = {3,9,0,2,1,4,5};
vector <Pocket> v1 (mynumbers1, mynumbers1 + 7);
vector <Pocket> v2 (7,0);
transform (v1.begin (), v1.end (), v2.begin (), bind2nd (Add (), 1)); //line ii
for_each (v2.rbegin (), v2.rend (), printer);
return 0;
}
17, the program outputs 5,4,1,2,0,9,3 (NOT SURE)
try 0,1,0,1,1,2,3 (WRONG)
(3,2,1,1,0,1,0) WRONG
#include <iostream>
#include <algorithm>
#include <deque>
#include <set>
#include <vector>
#include <functional>
class Pocket
{
int value;
public:
Pocket (int value): value (value)
{ }
int getValue ()const
{
return value;
}
operator int () const
{
return value;
}
bool operator < (const Pocket & _Right) const
{
return value < _Right.value;
}
};
ostream & operator << (ostream & stream, const Pocket & pocket)
{
stream << pocket.getValue ();
return stream;
}
int main()
{
Pocket mynumbers1 [] = {3,9,0,2,1,4,5};
Pocket mynumbers2 [] = {3,8,0,1,0,2,2};
vector <Pocket> v1 (mynumbers1, mynumbers1 + 7);
vector <Pocket> v2 (mynumbers2, mynumbers2 + 7);
vector <Pocket> v3 (7,0);
transform (v1.begin (), v1.end (), v2.begin (), v3.begin (), minus <Pocket>
()); //line ii
for_each (v1.rbegin (), v1.rend (), printer);
return 0;
}
18, the program outputs 5,4,1,2,0,9,3
#include <iostream>
#include <algorithm>
#include <deque>
#include <set>
#include <vector>
#include <functional>
int main()
{
int mynumbers [] = {3,9,0,2,1,4,5};
vector <int> v1 (mynumbers, mynumbers + 7);
for_each (v1.begin (), v1.end (), bind2nd (plus <int> (), 1)); //line i
for_each (v1.rbegin (), v1.rend (), printer); //line ii
return 0;
}
#include <iostream>
#include <algorithm>
#include <deque>
#include <set>
#include <vector>
#include <functional>
int main()
{
int mynumbers [] = {3,9,0,2,1,4,5};
vector <int> v1 (mynumbers, mynumbers + 7);
vector <int> v2 (7);
transform (v1.begin (), v1.end (), v2.begin (), bind1st (Add (), -1)); //line
ii
for_each (v2.rbegin (), v2.rend (), printer);
return 0;
}
#include <iostream>
#include <algorithm>
#include <deque>
#include <set>
#include <vector>
#include <functional>
int main()
{
int mynumbers1 [] = {3,9,0,2,1,4,5};
vector <int> v1 (mynumbers1, mynumbers1 + 7);
vector <int> v2 (7);
transform (v1.begin (), v1.end (), v2.begin (), ptr_fun (Mul)); //line i
vector <int>::iterator it = find_if (v2.begin (), v2.end (), bind2nd (equal_to
<int>(), 6)); //line ii
cout << *it <<endl; //line iii
return 0;
}
19/20!!!!!!!!!
#include <iostream>
#include <algorithm>
#include <deque>
#include <set>
#include <vector>
#include <functional>
struct Add
{
int operator () (const int & _Left, const int & _Right) const //line i
{
return _Left + _Right;
}
};
int main()
{
int mynumbers [] = {3,9,0,2,1,4,5};
vector <int> v1 (mynumbers, mynumbers + 7);
vector <int> v2 (7);
transform (v1.begin (), v1.end (), v2.begin (), bind1st (ptr_fun (Add () ),
1)); //line ii
for_each (v2.begin (), v2.end (), printer);
return 0;
}
18,