Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Yladiclay
0 / 0 / 2
Регистрация: 03.03.2017
Сообщений: 6
#1

В тексте одно введённое слово заменить другим словом, которое также вводится с экрана - C++

29.05.2017, 20:20. Просмотров 197. Ответов 2
Метки нет (Все метки)


http://www.cyberforum.ru/cpp-beginners/thread107190.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2017, 20:20
Я подобрал для вас темы с готовыми решениями и ответами на вопрос В тексте одно введённое слово заменить другим словом, которое также вводится с экрана (C++):

Заменить некоторое слово другим словом такой же длины
Помогите разобраться 1. Задача (про замену слов в строке) Составить...

Надо исправить программу, пожалуйста. Задание: заменить заданное слово в строке другим заданным словом
Задание: заменить заданное слово в строке другим заданным словом Вот какие...

Заменить в тексте одно слово на другое
в текстовом файле содержащий код программы на языке С, заменить все вхождения...

В тексте слово "мое" заменить словом "наше"
В тексте слово "мое" заменить словом "наше".

Найти 2 двузначных числа, записанных одно за другим, образующие четырёхзначное число, которое делится на их произведение
Здравствуйте , помогите решить задачу пж с помощью циклов , заранее благодарен....

2
Fixer_84
825 / 635 / 645
Регистрация: 30.04.2016
Сообщений: 2,108
29.05.2017, 22:37 #2
Yladiclay, здравствуйте! Вот пара программ. В первой я использую встроенную функцию замены одного слова на другое, а во второй использую свою собственную. Выбирайте какая вам больше нравится. А вообще, эту задачу можно решать по-разному. Все зависит от ограничений, накладываемых на текст в файле.

Программа 1:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <string>
#include <fstream>
#include <windows.h> //Шрифт консоли - Lucida Console
 
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    ifstream fin("input.txt"); //Входной файл (исходный текст записан здесь)
    ofstream fout("output.txt"); //Выходной файл (сюда помещается измененный текст)
    string str, s1, s2;
    cout << "Слово, которое хотите заменить: " << endl;
    getline(cin, s1);
    cout << "Слово, которым заменяйте: " << endl;
    getline(cin, s2);
    while (getline(fin, str))
    {
        while (str.find(s1) != string::npos)
        {
            str.replace(str.find(s1), s1.length(), s2);
        }
        fout << str << endl;
    }
    fout.close();
    system("pause");
    return 0;
}
Программа 2:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
#include <string>
#include <fstream>
#include <windows.h> //Шрифт консоли - Lucida Console
 
using namespace std;
 
string Exchange(string a, string b, string c) //Функция замены одного вхождения на другое
{
    for (int i = a.length(); i >= 0; i--)
    {
        if (a.substr(i, b.length()) == b)
        {
            a.insert(i, c);
            a.erase(i + c.length(), b.length());
        }
    }
    return a;
}
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    ifstream fin("input.txt"); //Входной файл (исходный текст записан здесь)
    ofstream fout("output.txt"); //Выходной файл (сюда помещается измененный текст)
    string str, s1, s2;
    cout << "Слово, которое хотите заменить: " << endl;
    getline(cin, s1);
    cout << "Слово, которым заменяйте: " << endl;
    getline(cin, s2);
    while (getline(fin, str))
    {
        str = Exchange(str, s1, s2);
        fout << str << endl;
    }
    fin.close();
    fout.close();
    system("pause");
    return 0;
}
1
Yladiclay
0 / 0 / 2
Регистрация: 03.03.2017
Сообщений: 6
29.05.2017, 23:09  [ТС] #3
Большое спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2017, 23:09
Привет! Вот еще темы с решениями:

В любом тексте между 3 и 4 словом вставить новое слово
Ребят,помогите пожалуйста,в работе со строками совсем не шарю. Задание:в любом...

Во введённом тексте слово «мама» заменяет словом «бабушка»
Составить программу, которая во введённом тексте слово «мама» заменяет словом...

Найти слово, которое лексикографически предшествует всем другим словам строки
Дана строка из 15 слов. Найти то слово, которое лексикографически (по алфавиту)...

В произвольном тексте вставить между вторым и третьим словом новое слово
&quot;В произвольном тексте вставить между вторым и третьим словом новое слово.&quot;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru