Предмет: Информатика,
автор: SPY75
Преобразовать строку, содержащую выражение на Си с операциями
(=,==,!=,a+=,a-=), в строку, содержащую эти же операции с синтаксисом языка
Паскаль (:=,=,#,a=a+,a=a-). Вывести результат на экран.
Ответы
Автор ответа:
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;
}
#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;
}
Похожие вопросы
Предмет: Қазақ тiлi,
автор: zhenis071250
Предмет: Математика,
автор: rsuenov
Предмет: Литература,
автор: kristislavik8
Предмет: Математика,
автор: PROSTOPAPIK