Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <vector>
- using namespace std;
- ifstream fin("dir.in");
- ofstream fout("dir.out");
- vector < string > v;
- string s;
- int main()
- {
- fin >> s;
- string curent = "";
- char lSemn = 'A', aSemn = 'A';
- int len = s.length();
- int cate = 0;
- fout << " \n";
- for(int i = 0; i < len; i++)
- {
- if(s[i] == '(' || s[i] == ')' || s[i] == ',')
- {
- lSemn = aSemn;
- aSemn = s[i];
- if(lSemn == 'A')
- v.push_back(curent), curent = "";
- else
- {
- if(lSemn == '(')
- {
- if(aSemn == '(')
- v.push_back(curent);
- else if(aSemn == ',')
- {
- int siz = v.size();
- for(int i = 0; i < siz; i++)
- fout << v[i] << "\\";
- fout << curent << '\n';
- cate++;
- }
- }
- else if(lSemn == ',' && aSemn == ')')
- {
- int siz = v.size();
- for(int i = 0; i < siz; i++)
- fout << v[i] << "\\";
- fout << curent << '\n';
- cate++;
- }
- else if(lSemn == ',' && aSemn == ')')
- v.push_back(curent);
- else if(lSemn == ',' && aSemn == ',')
- {
- int siz = v.size();
- for(int i = 0; i < siz; i++)
- fout << v[i] << "\\";
- fout << curent << '\n';
- cate++;
- }
- else if(lSemn == ',' && aSemn == '(')
- v.push_back(curent);
- else if(lSemn == ')' && aSemn == ')')
- v.pop_back();
- else if(lSemn == '(' && aSemn == ')')
- {
- cout << curent << '\n';
- int siz = v.size();
- for(int i = 0; i < siz; i++)
- fout << v[i] << "\\";
- fout << curent << '\n';
- cate++;
- }
- curent = "";
- if((lSemn == '(' || lSemn == ',') && aSemn == ')')
- {
- v.pop_back();
- }
- }
- }
- else
- curent += s[i];
- }
- fout.close();
- fout.open("dir.out", ios::in | ios::out);
- fout << cate;
- fin.close();
- fout.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement