Предмет: Информатика, автор: SPY75

Преобразовать строку, содержащую выражение на Си с операциями
(=,==,!=,a+=,a-=), в строку, содержащую эти же операции с синтаксисом языка
Паскаль (:=,=,#,a=a+,a=a-). Вывести результат на экран.

Ответы

Автор ответа: Dmon55
0
#include <iostream>
#include <string>

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;
}
Похожие вопросы