Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //задача16
- #include <iostream>
- #include <vector>
- using namespace std;
- int main()
- {
- vector<char> v,v1;
- char c;
- while (cin >> c)
- {
- if (isalpha(c) || isdigit(c))
- v1.push_back(c);
- if (((c >= 42) && (c <= 47)) || (c == 94))
- {
- if (c == '*')
- c = '.';
- if (c == '-')
- c = ',';
- if (v.empty())
- v.push_back(c);
- else
- {
- //if ((v.back() >= c) || (v.back() == c - 1) || (v.back() == c + 1))
- //{
- while ((v.back() >= c) || (v.back() == c - 1) || (v.back() == c + 1))
- {
- v1.push_back(v.back());
- v.pop_back();
- if (v.empty())
- break;
- }
- v.push_back(c);
- //}
- //else
- //v.push_back(c);
- }
- }
- if (c == '(')
- v.push_back(c);
- if (c == ')')
- {
- while (v.back() != '(')
- {
- v1.push_back(v.back());
- v.pop_back();
- }
- v.pop_back();
- }
- }
- while (!v.empty())
- {
- v1.push_back(v.back());
- v.pop_back();
- }
- for (int i = 0; i < v1.size(); i++)
- {
- if (v1[i] == '.')
- v1[i] = '*';
- if (v1[i] == ',')
- v1[i] = '-';
- cout << v1[i];
- }
- return 0;
- }
- ///a+b - ab+
- ///a*b+c - ab*c+
- ///a*(b+c) - abc+*
- ///a+b^c^d*e - abc^d^e*+
- ///5-(a+b*c^2-1)+a - 5abc2^*+1--a+
Advertisement
Add Comment
Please, Sign In to add comment