Advertisement
myname0

практика_сеты3_14

Jul 6th, 2015
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.52 KB | None | 0 0
  1. #include <set>
  2. #include <fstream>
  3. #include <algorithm>
  4. #include <vector>
  5. #include <string>
  6. #include <iterator>
  7.  
  8. using namespace std;
  9.  
  10. int main()
  11. {
  12.         set <string> s1;
  13.         set <string> s2;
  14.         vector <string> res;
  15.         string tmp;
  16.         ifstream in("input.txt");
  17.         ofstream out("output.txt");
  18.         string temp;
  19.         getline(in, tmp);
  20.         int i = 0;
  21.         while (!tmp.empty())
  22.         {
  23.             if (tmp[i] == '?')
  24.             {  
  25.                 temp = tmp.substr(0, tmp.find('?'));       
  26.                 tmp.erase(0, tmp.find('?')+2);
  27.                 while (!temp.empty())
  28.                 {
  29.                     s1.insert(temp.substr(0, temp.find(" ")));
  30.                     temp.erase(0, temp.substr(0, temp.find(" ")).length() + 1);
  31.                 }
  32.                 i = 0;
  33.             }
  34.             else if (tmp[i] == '!')
  35.             {  
  36.                 temp = tmp.substr(0, tmp.find('!'));       
  37.                 tmp.erase(0, tmp.find('!')+2);
  38.                 while (!temp.empty())
  39.                 {
  40.                     s2.insert(temp.substr(0, temp.find(" ")));
  41.                     temp.erase(0, temp.substr(0, temp.find(" ")).length() + 1);
  42.                 }
  43.                 i = 0;
  44.             }
  45.             else if(tmp[i] == '.')
  46.             {
  47.                 tmp.erase(0, tmp.find('.')+2);
  48.                 i = 0;
  49.             }
  50.  
  51.             else i++;
  52.         }
  53.         set_intersection(s1.begin(), s1.end(), s2.begin(), s2.end(), back_inserter(res));
  54.         out << res.size() << endl;
  55.         for (vector <string>::iterator iter = res.begin(); iter != res.end(); iter++)
  56.         out << *iter << " ";
  57.         if (res.empty())
  58.                 out << "There is no similar words in exclamation and interrogative sentences!";
  59.         in.close();
  60.         out.close();
  61.         return 0;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement