C++ Primer课后练习10.29-10.33

来源:互联网 发布:梦幻西游网络出错 编辑:程序博客网 时间:2024/03/28 19:07
//课后练习10.29#include<iostream>#include<string>#include<vector>#include<iterator>#include<fstream>using namespace std;int main(void){ifstream in1("file1.txt");ifstream in2("file2.txt");istream_iterator<string> in_iterator(in1),in_iterator1(in2), eof;vector<string> vec1(in_iterator, eof);vector<string> vec2;while (in_iterator1 != eof){vec2.push_back(*in_iterator1++);}ostream_iterator<string> out_iterator(cout, " ");for (auto ss : vec1)out_iterator = ss;cout << endl;for (auto ss : vec2)out_iterator = ss;cout << endl;return 0;}/****************************************************************/
//练习10.30#include<iostream>#include<numeric>#include<algorithm>#include<vector>#include<iterator>using namespace std;int main(int argc, char * argv[]){istream_iterator<int> in_iter(cin);istream_iterator<int> eof;vector<int> vec1(in_iter, eof);sort(vec1.begin(), vec1.end());ostream_iterator<int> out_iter(cout, " ");copy(vec1.begin(), vec1.end(), out_iter);cout << endl;}/********************************************************************/
//练习10.31#include<iostream>#include<numeric>#include<algorithm>#include<vector>#include<iterator>using namespace std;int main(int argc, char * argv[]){istream_iterator<int> in_iter(cin);istream_iterator<int> eof;vector<int> vec1(in_iter, eof);sort(vec1.begin(), vec1.end());ostream_iterator<int> out_iter(cout, " ");unique_copy(vec1.begin(), vec1.end(), out_iter);cout << endl;}/******************************************************************/
//练习10.32#include<iostream>#include<algorithm>#include<numeric>#include<iterator>#include<vector>#include<string>#include"10.32.h"using namespace std;bool compareIsbn(Sales_item & s1, Sales_item & s2){return s1.isbn < s2.isbn;}int main(void){vector<Sales_item> vec;istream_iterator<Sales_item> in_iter(cin), eof;while (in_iter != eof){vec.push_back(*in_iter++);}sort(vec.begin(), vec.end(), compareIsbn);auto vec1 = vec.begin();while (vec1 != vec.end()){auto opps = *vec1;auto r = find_if(vec1 + 1, vec.end(),[opps](const Sales_item & opps1){return opps != opps1; });cout<< accumulate(vec1 + 1, r, opps) << endl;vec1 = r;}return 0;}/*****************************************************************/




0 0
原创粉丝点击