13-21
//rotate
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
void Output(int val)
{
cout << val << ' ';
}
void main()
{
vector<char > charVect;
charVect.push_back('B');
charVect.push_back('A');
charVect.push_back(' ');
charVect.push_back('M');
charVect.push_back('R');
charVect.push_back(' ');
charVect.push_back('K');
cout << "Vect :";
for_each(charVect.begin(),charVect.end(),Output);
rotate(charVect.begin(),charVect.begin()+6,charVect.end());
cout << endl;
cout << "Vect :";
for_each(charVect.begin(),charVect.end(),Output);
cout << endl;
}
13-22
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
void Output(int val)
{
cout << val << ' ';
}
void main()
{
vector<char > charVect;
charVect.push_back('M');
charVect.push_back('R');
charVect.push_back('K');
charVect.push_back('J');
charVect.push_back('H');
charVect.push_back('I');
cout << "Vect :";
for_each(charVect.begin(),charVect.end(),Output);
sort(charVect.begin(),charVect.end());
cout << endl;
cout << "Vect :";
for_each(charVect.begin(),charVect.end(),Output);
cout << endl;
}
13-23
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;
void Output(const string& val)
{
cout << val << endl;
}
void main()
{
vector<string> strVect;
strVect.push_back("Sunday");
strVect.push_back("Monday");
strVect.push_back("Tuesday");
strVect.push_back("Wednesday");
strVect.push_back("Thursday");
strVect.push_back("Friday");
strVect.push_back("Saturday");
cout << "Vect :";
for_each(strVect.begin(),strVect.end(),Output);
partial_sort(strVect.begin(),strVect.begin()+3,strVect.end());
cout << endl;
cout << "Vect :";
for_each(strVect.begin(),strVect.end(),Output);
}
13-24
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;
void Output(const string& val)
{
cout << val << endl;
}
void main()
{
vector<string> strVect;
strVect.push_back("Sunday");
strVect.push_back("Monday");
strVect.push_back("Tuesday");
strVect.push_back("Wednesday");
strVect.push_back("Thursday");
strVect.push_back("Friday");
strVect.push_back("Saturday");
cout << "Vect :" << endl;;
for_each(strVect.begin(),strVect.end(),Output);
cout << endl;
nth_element(strVect.begin(),strVect.begin()+5,strVect.end());
cout << "Vect :" << endl;
for_each(strVect.begin(),strVect.end(),Output);
}
13-25
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;
void Output(const string& val)
{
cout << val << endl;
}
void main()
{
vector<string> strVect1;
vector<string> strVect2;
strVect1.push_back("Sunday");
strVect1.push_back("Monday");
strVect1.push_back("Tuesday");
strVect1.push_back("Wednesday");
strVect2.push_back("Thursday");
strVect2.push_back("Friday");
strVect2.push_back("Saturday");
strVect2.push_back("Over");
cout << "Vect1 :" << endl;
for_each(strVect1.begin(),strVect1.end(),Output);
cout << endl;
cout << "Vect2 :" << endl;
for_each(strVect2.begin(),strVect2.end(),Output);
cout << endl;
sort(strVect1.begin(),strVect1.end());
sort(strVect2.begin(),strVect2.end());
int size =strVect1.size()+strVect2.size();
vector<string> strVect3(size);
merge(strVect1.begin(),strVect1.end(),
strVect2.begin(),strVect2.end(),
strVect3.begin());
cout << "Vect3 :" << endl;
for_each(strVect3.begin(),strVect3.end(),Output);
}
13-26
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;
void Output(const string& val)
{
cout << val << endl;
}
void main()
{
vector<string> strVect1;
vector<string> strVect2;
strVect1.push_back("Sunday");
strVect1.push_back("Monday");
strVect1.push_back("Over");
strVect1.push_back("Wednesday");
strVect2.push_back("Monday");
strVect2.push_back("Sunday");
strVect2.push_back("Over");
strVect2.push_back("Saturday");
sort(strVect1.begin(),strVect1.end());
sort(strVect2.begin(),strVect2.end());
cout << "Vect1 :" << endl;
for_each(strVect1.begin(),strVect1.end(),Output);
cout << endl;
cout << "Vect2 :" << endl;
for_each(strVect2.begin(),strVect2.end(),Output);
cout << endl;
bool result=includes(strVect1.begin(),strVect1.end(),
strVect2.begin()+1,strVect2.begin()+2);
if(result)
cout << "result : OK" << endl;
else
cout <<"result : ERROR"<<endl;
}
13-27
#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric>
using namespace std;
void Output(int val)
{
cout << val << ' ';
}
void main()
{
vector<int> intVect;
for(int i=0;i<5;i++)
intVect.push_back(i);
cout << "Vect";
std::for_each(intVect.begin(),intVect.end(),Output);
int result = accumulate(intVect.begin(),intVect.end(),5);
cout << endl;
cout << "Result :" << result << endl;
}
13-28
#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric>
using namespace std;
void Output(int val)
{
cout << val << ' ';
}
void Output2(int val)
{
cout << val << endl;
}
void main()
{
vector<int> intVect1;
vector<int> intVect2;
for(int i=0;i<5;i++)
intVect1.push_back(i);
for(int j=2;j<8;j++)
intVect2.push_back(j);
cout << "Vect";
cout << "Vect1 :";
std::for_each(intVect1.begin(),intVect1.end(),Output);
cout << endl;
cout << "Vect2 :" << endl;
std::for_each(intVect2.begin(),intVect2.end(),Output2);
cout << endl;
int result = inner_product(intVect1.begin(),intVect1.end(),
intVect1.begin(),0);
cout << endl;
cout << "Result :" << result << endl;
}
13-29
//partial_sum
#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric>
using namespace std;
void Output(int val)
{
cout << val << ' ';
}
void Output2(int val)
{
cout << val << endl;
}
void main()
{
vector<int> intVect1;
vector<int> intVect2(5);
for(int i=3;i<13;i+=2)
intVect1.push_back(i);
cout << "Vect1 :";
std::for_each(intVect1.begin(),intVect1.end(),Output);
cout << endl;
partial_sum(intVect1.begin(),intVect1.end(),intVect2.begin());
cout << "Vect2 :" << endl;
std::for_each(intVect2.begin(),intVect2.end(),Output2);
cout << endl;
}
13-30
#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric>
using namespace std;
void Output(int val)
{
cout << val << ' ';
}
void main()
{
vector<int> intVect1;
intVect1.push_back(7);
intVect1.push_back(3);
intVect1.push_back(5);
cout << "Vect1 :";
std::for_each(intVect1.begin(),intVect1.end(),Output);
cout << endl;
vector<int> intVect2(intVect1.size());
adjacent_difference(intVect1.begin(),intVect1.end(),intVect2.begin());
partial_sum(intVect1.begin(),intVect1.end(),intVect2.begin());
cout << "Vect2 :";
std::for_each(intVect2.begin(),intVect2.end(),Output);
cout << endl;
}