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

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

29.05.2017, 20:20. Просмотров 212. Ответов 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
#include <iostream>
 #include <stdio.h>
 #include <stdlib.h>
 #include <conio.h>
 #include <string.h>
using namespace std;
 int main()
 {
   char T[50],S1[10], S2[10],*p,*s;
   gets(T);
   gets(S1);
   gets(S2);
 
    p=strstr(T,S1);
 
    cout<<p<<endl;
 
    s=strncpy(p,S2,4);
    p[-1]='\0';
    cout<<T<<' '<<s;
 
  getch();
 }
P.S.: первый курс
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2017, 20:20
Ответы с готовыми решениями:

В тексте одно введённое слово заменить другим словом, которое также вводится с экрана
помогите пожалуйста с лабой, срок поджимает, а идей никаких((( 1. В тексте одно введённое слово...

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

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

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

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

2
Fixer_84
1050 / 659 / 652
Регистрация: 30.04.2016
Сообщений: 2,263
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 / 0
Регистрация: 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

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

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

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


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

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

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