Advertisement
PedalaVasile

GUNOI DE COD

Feb 17th, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.75 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <vector>
  4.  
  5. using namespace std;
  6.  
  7. ifstream fin("dir.in");
  8. ofstream fout("dir.out");
  9.  
  10. vector < string > v;
  11.  
  12. string s;
  13.  
  14. int main()
  15. {
  16.     fin >> s;
  17.  
  18.     string curent = "";
  19.  
  20.     char lSemn = 'A', aSemn = 'A';
  21.  
  22.     int len = s.length();
  23.     int cate = 0;
  24.  
  25.     fout << "                      \n";
  26.  
  27.     for(int i = 0; i < len; i++)
  28.     {
  29.         if(s[i] == '(' || s[i] == ')' || s[i] == ',')
  30.         {
  31.             lSemn = aSemn;
  32.             aSemn = s[i];
  33.  
  34.  
  35.  
  36.             if(lSemn == 'A')
  37.                 v.push_back(curent), curent = "";
  38.             else
  39.             {
  40.                 if(lSemn == '(')
  41.                 {
  42.                     if(aSemn == '(')
  43.                         v.push_back(curent);
  44.                     else if(aSemn == ',')
  45.                     {
  46.                         int siz = v.size();
  47.  
  48.                         for(int i = 0; i < siz; i++)
  49.                             fout << v[i] << "\\";
  50.  
  51.                         fout << curent << '\n';
  52.                         cate++;
  53.                     }
  54.  
  55.                 }
  56.                 else if(lSemn == ',' && aSemn == ')')
  57.                 {
  58.                     int siz = v.size();
  59.  
  60.                     for(int i = 0; i < siz; i++)
  61.                         fout << v[i] << "\\";
  62.  
  63.                     fout << curent << '\n';
  64.                     cate++;
  65.                 }
  66.                 else if(lSemn == ',' && aSemn == ')')
  67.                     v.push_back(curent);
  68.                 else if(lSemn == ',' && aSemn == ',')
  69.                 {
  70.                     int siz = v.size();
  71.  
  72.                         for(int i = 0; i < siz; i++)
  73.                             fout << v[i] << "\\";
  74.  
  75.                         fout << curent << '\n';
  76.                         cate++;
  77.                 }
  78.                 else if(lSemn == ',' && aSemn == '(')
  79.                     v.push_back(curent);
  80.                 else if(lSemn == ')' && aSemn == ')')
  81.                     v.pop_back();
  82.                 else if(lSemn == '(' && aSemn == ')')
  83.                 {
  84.                     cout << curent << '\n';
  85.                     int siz = v.size();
  86.  
  87.                         for(int i = 0; i < siz; i++)
  88.                             fout << v[i] << "\\";
  89.  
  90.                         fout << curent << '\n';
  91.                         cate++;
  92.                 }
  93.  
  94.                 curent = "";
  95.  
  96.  
  97.                 if((lSemn == '(' || lSemn == ',') && aSemn == ')')
  98.                 {
  99.                     v.pop_back();
  100.                 }
  101.             }
  102.         }
  103.         else
  104.             curent += s[i];
  105.     }
  106.  
  107.     fout.close();
  108.     fout.open("dir.out", ios::in | ios::out);
  109.     fout << cate;
  110.     fin.close();
  111.     fout.close();
  112.     return 0;
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement