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

0 голосов
84 просмотров

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


Информатика (339 баллов) | 84 просмотров
Дан 1 ответ
0 голосов

#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;<br>    return 0;
}

(3.2k баллов)