Advertisement
Guest User

string

a guest
Dec 11th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.40 KB | None | 0 0
  1. SetConsoleCP(1251); //изменяет кодировку используемую на кириллицу при вводе
  2.     SetConsoleOutputCP(1251); // изменяет кодировку используему на кириллицу при выводе
  3.     string s, s1;
  4.     int len;
  5.     s = "12-[pow(85,2)*3-1]+16";
  6.     //моя правка
  7.     string strResult;
  8.     int pos1, pos2, kol;
  9.     pos1 = s.find("["); //запомнили позицию первого символа
  10.     pos2 = s.find("]", pos1);// запомнили позицию второго сивола
  11.     kol = pos2 - pos1 -1; // нашли количество символов, которое мы должны вывести, если не отнять минус один, то будет один лишний символ, а именно "]", можешь проверить сама пронумеровав индексы и посчитав ручками
  12.     strResult = s.substr(pos1+1, kol); //в strResult вернули с pos1 + 1(+ 1 нужно чтобы первая квадратная скобка не захватилась) количество символом, которое нашли в прошлой строке
  13.     //
  14.     cout << "Начальное выражение " << s << endl;
  15.     len = s.find("[");
  16.     s.replace(len, 1, "((");
  17.     len = s.find("]");
  18.     s.replace(len, 1, "))");
  19.     len = s.size();
  20.     cout << s << endl << strResult << endl;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement