Язык программирования С++ 9 класс Напишите программу, которая заменяет во всей строке одну последовательность
символов на другую.
Пример:
Введите строку:
(X > 0) and (Y < X) and (Z > Y) and (Z <> 5)
Что меняем: and
Чем заменить: &
Результат
(X > 0) & (Y < X) & (Z > Y) & (Z <> 5)

Falkon5511 Falkon5511    3   08.04.2021 19:25    0

Ответы
lubavoytenko003 lubavoytenko003  08.05.2021 20:27

#include <iostream>

#include <string>

using namespace std;

signed main() {

   setlocale(LC_ALL, "Rus");

   string strInput, findText, replaceText;

   size_t position = 0;

   cout << "Введите текст:" << ends;

   getline(cin, strInput);

   cout << "Введите то, что надо заменить: ";

   getline(cin, findText);

   cout << "Введите на что меняем: ";

   getline(cin, replaceText);

   string strOut = strInput;

   while ((position = strOut.find(findText, 0)) != string::npos)

   {

       strOut.replace(position, findText.size(), replaceText);

       position++;

   }

   cout << "Изменённый текст: " << strOut << endl;

   cin.get();

   return 0;

}

Либо:

#include <regex>

#include <string>

#include <iostream>

using namespace std;

int main() {

   setlocale(LC_ALL, "Rus");

   string strInput, findText, replaceText;

   cout << "Введите текст: ";

   getline(cin, strInput);

   cout << "Введите то, что надо заменить: ";

   getline(cin, findText);

   cout << "Введите на что меняем: ";

   getline(cin, replaceText);

   strInput = regex_replace(strInput, regex(findText), replaceText);

   cout << "Изменённая строка: " << strInput;

   return 0;

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика