Преобразовать строку, содержащую выражение на Си с операциями (=,==,!=,a+=,a-=), в строку, содержащую эти же операции с синтаксисом языка Паскаль (:=,=,#,a=a+,a=a-). Вывести результат на экран.
Преобразовать строку, содержащую выражение на Си с операциями
(=,==,!=,a+=,a-=), в строку, содержащую эти же операции с синтаксисом языка
Паскаль (:=,=,#,a=a+,a=a-). Вывести результат на экран.
Ответ(ы) на вопрос:
#include
#include
int main()
{
std::string str;
getline(std::cin,str);
const int n = 5;
std::string c[n] = { "=", "==", "!=", "a +=", "a -=" };
std::string psl[n] = { ": =", "=", "#", "a = a +", "a = a -" };
for (unsigned int i = n-1; i > 0; i--){
int p = str.find(c[i]);
while (p > 0)
{
str.replace(p, c[i].size(), psl[i]);
p = str.find(c[i]);
}
}
std::cout << str;
return 0;
}
Не нашли ответ?
Похожие вопросы