rendered paste body#include <iostream>#include <string>#include <sstream>#include <algorithm> using namespace std; template <typename Iterator> string F1(string s, Iterator begin, Iterator end){ Iterator i,i1; float a; if ((i = find(begin,end,'(')) != end) { return F1(s,i+1,end); }else if ((i = find(begin,end,')')) != end) { a = F(begin,i); ostringstream ss; ss << a; string str = ss.str(); i1 = s.erase(begin,i); s.insert(i1,str.begin(),str.end()); return s; } } template <typename Iterator> float F(Iterator begin, Iterator end){ Iterator i; if ((i = find(begin,end,'+')) != end) { return F(begin,i) + F(i+1,end) ; }else if ((i = find(begin,end,'-')) != end) { return F(begin,i) - F(i+1,end) ; }else if ((i = find(begin,end,'*')) != end) { return F(begin,i) * F(i+1,end) ; }else if ((i = find(begin,end,'/')) != end) { return F(begin,i) / F(i+1,end) ; }else { string str1(begin,end) ; istringstream stream(str1); float i; stream >> i; return i ; }} int main() { string str,str1; float a; getline(cin,str); str = F1(str,str.begin(),str.end()); //a = F(str.begin(),str.end()); cout << "Ats: " << a << endl; cin.get();}