#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>
int main() {
cout << "Введите текст: ";
strInput = regex_replace(strInput, regex(findText), replaceText);
cout << "Изменённая строка: " << strInput;
По-идеи выведется число 0. Если же перед строкой f(11) будет # , то ничего.
Объяснение:
f(11) обращаемся к функции f с значением 11
если 11 больше 0, то:
обратиться к функции g с значением 11-1 , тоесть 10
если 10 больше 1 , то:
обратиться к функции f со значением 10-3 , тоесть 7
Теперь если 7 больше 0, то:
обратиться к g с значением 7-1
если 6 больше 1, то:
обратиться к f с значением 6-3
Теперь если 3 больше 0, то:
обратиться к g с значением 3 - 1
если 3 больше 1, то:
обратиться к f с значением 3-3 = 0
Скрипт завершён. Вывелось число 0.
#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;
}
По-идеи выведется число 0. Если же перед строкой f(11) будет # , то ничего.
Объяснение:
f(11) обращаемся к функции f с значением 11
если 11 больше 0, то:
обратиться к функции g с значением 11-1 , тоесть 10
если 10 больше 1 , то:
обратиться к функции f со значением 10-3 , тоесть 7
Теперь если 7 больше 0, то:
обратиться к g с значением 7-1
если 6 больше 1, то:
обратиться к f с значением 6-3
Теперь если 3 больше 0, то:
обратиться к g с значением 3 - 1
если 3 больше 1, то:
обратиться к f с значением 3-3 = 0
Скрипт завершён. Вывелось число 0.