0 / 0 / 0
Регистрация: 03.07.2013
Сообщений: 14
1

В тексте заменить слово А(любое слово) на слово В(любое слово). А и В разной длинны

04.07.2013, 21:15. Показов 2592. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не могу сообразить как написать программу:
Пользователь вводит текст
Необходимо замениь слово А(любое слово) на слово В(любое слово). А и В разной длинны
И вывести изменённый текст на экран.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.07.2013, 21:15
Ответы с готовыми решениями:

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

Дан текст, а также 2 слова. Заменить встречающееся в тексте слово 1 на слово 2
Подскажите пожалуйста, как написать программу в visual basic 6.0, если: Дан текст, а также 2...

В тексте заменить слово «Петя» на слово «Игорь»
Если в строке содержится слово «Петя», заменить его на слово «Игорь». Не используя replace и string.

Заменить заданное слово в тексте на другое слово
Здравствуйте.Помогите написать программу к данному заданию,используя процедуры или функции и...

11
78 / 60 / 9
Регистрация: 26.06.2013
Сообщений: 198
05.07.2013, 02:45 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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#include <iostream>
#include <string>
 
size_t find_any_first_of(std::string const& source, std::string const& item, size_t start = 0)
{
    size_t pos = std::string::npos;
 
    for (size_t i = 0; i < item.length(); ++i)
    {
        size_t p = source.find_first_of(item.at(i), start);
        if (pos > p)
        {
            pos = p;
            if (pos == start) break;
        }
    }
 
    return pos;
}
 
size_t find_any_first_not_of(std::string const& source, std::string const& item, size_t start = 0)
{
    size_t pos = std::string::npos;
 
    for (size_t p = start; p < source.length(); ++p)
    {
        bool no_item = true;
        for (size_t i = 0; i < item.length(); ++i)
        {
            if (source.at(p) == item.at(i))
            {
                no_item = false;
                break;
            }
        }
        if (no_item)
        {
            pos = p;
            break;
        }
    }
 
    return pos;
}
 
size_t replace_all_of(std::string& source, std::string const& replacing, std::string const& replacer, std::string const& delimiter = " ")
{
    size_t count = 0;
 
    size_t p1 = 0;
    size_t p2 = 0;
    while ((p1 = find_any_first_not_of(source, delimiter, p1)) != std::string::npos)
    {
        p2 = find_any_first_of(source, delimiter, p1 + 1);
        if (p2 == std::string::npos) p2 = source.length();
        size_t len = p2 - p1;
        if (source.compare(p1, len, replacing) == 0)
        {
            source.replace(p1, len, replacer);
            p1 += replacer.length();
            ++count;
        }
        else
        {
            p1 = p2 + 1;
        }
    }
 
    return count;
}
 
int main()
{
    using namespace std;
 
    string delimiter = " \t,.!?"; // Необходимые разделители можно добавить.
 
    string sentence = "\tgreen apple is not red apple still, \"green\" apple is an apple, and \"red\" apple is also an apple therefore, both are apples!";
    //cout << "Input sentence: ";
    //getline(cin, sentence);
 
    string replacing = "green";
    //cout << "Input replacing word: ";
    //cin >> replacing;
 
    string replacer = "yellow";
    //cout << "Input replacer word: ";
    //cin >> replacer;
 
    cout << "Sentence: " << sentence << endl;
    cout << "Replacing: " << replacing << endl;
    cout << "Replacer: " << replacer << endl;
    cout << "Replace " << replace_all_of(sentence, replacing, replacer, delimiter) << endl;
    cout << "Result: " << sentence << endl;
 
    return 0;
}
1
0 / 0 / 0
Регистрация: 03.07.2013
Сообщений: 14
05.07.2013, 13:40  [ТС] 3
Да учитывая всё это вы правы )

Добавлено через 14 минут
Выдаёт ошибку

Ошибка 3 error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "stdafx.h"" в источник. c:\users\user\documents\visual studio 2012\projects\змена а на в\змена а на в\змена а на в.cpp 103

И предупреждения

Предупреждение 1 warning C4627: #include <iostream>: пропущен при поиске использования предкомпилированного заголовка c:\users\user\documents\visual studio 2012\projects\змена а на в\змена а на в\змена а на в.cpp 4

Предупреждение 2 warning C4627: #include <string>: пропущен при поиске использования предкомпилированного заголовка c:\users\user\documents\visual studio 2012\projects\змена а на в\змена а на в\змена а на в.cpp 5

А если добавляю директиву #include "stdafx.h" то там ещё 50 ошибок вылазит небьявленые индификаторы и т.д.

Извините за глупые вопросы но подскажите если несложно
0
78 / 60 / 9
Регистрация: 26.06.2013
Сообщений: 198
05.07.2013, 13:50 4
Я не использовал предкомпиляцию заголовков

Добавлено через 1 минуту
Если вы используете, то перенесите все инклюде в stdafx.h
А в файл c main() добавьте #include "stdafx.h"
И все получится
0
0 / 0 / 0
Регистрация: 03.07.2013
Сообщений: 14
05.07.2013, 16:58  [ТС] 5
( Вы немогли бы показать как что добавлять а то я зделал как вы сказали и всёравно неработает
Может что-то делаю нетак Зарание спасибо
0
415 / 411 / 95
Регистрация: 06.10.2011
Сообщений: 832
05.07.2013, 17:11 6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    const string old_phrase = "kitty";
    const string new_phrase = "dog";
    string text;
    getline(cin, text);
    size_t pos = string::npos;
    while ( (pos = text.rfind(old_phrase, --pos)) != string::npos )
        text.replace(pos, old_phrase.size(), new_phrase);
    cout << text;
    return 0;
}
0
0 / 0 / 0
Регистрация: 03.07.2013
Сообщений: 14
05.07.2013, 17:32  [ТС] 7
Olivеr объесните пожалуйста что сделать так сказать как тупому чтоб устранить ошибку и предупреждения т.к. я недавно начал изучать С++

Olivеr в вашей программе выдаёт такиеже ошибки

Предупреждение 1 warning C4627: #include <iostream>: пропущен при поиске использования предкомпилированного заголовка c:\users\user\documents\visual studio 2012\projects\функция поиск словn4\функция поиск словn4\функция поиск словn4.cpp 4


Предупреждение 2 warning C4627: #include <string>: пропущен при поиске использования предкомпилированного заголовка c:\users\user\documents\visual studio 2012\projects\функция поиск словn4\функция поиск словn4\функция поиск словn4.cpp 5

Ошибка 3 error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "stdafx.h"" в источник. c:\users\user\documents\visual studio 2012\projects\функция поиск словn4\функция поиск словn4\функция поиск словn4.cpp 22


если вставляю #include "stdafx.h"
то выдаёт 23 ошибки
Что сделать объясните чтоб я понял и разобрался рас и навсегда )))
0
415 / 411 / 95
Регистрация: 06.10.2011
Сообщений: 832
05.07.2013, 17:34 8
Цитата Сообщение от Wenter Посмотреть сообщение
Что сделать объясните чтоб я понял и разобрался рас и навсегда )))
Установить и пользоваться Code::Blocks
1
7 / 7 / 2
Регистрация: 18.02.2012
Сообщений: 61
05.07.2013, 17:43 9
Может просто присвоить строку B строке А?
0
78 / 60 / 9
Регистрация: 26.06.2013
Сообщений: 198
06.07.2013, 11:17 10
Olivеr, ваш вариант заменяет последовательность символов, а не слово.
Проверьте, например, при таких данных
C++
1
2
3
const string old_phrase = "dog";
const string new_phrase = "cat";
string text = "dogma is a principle ...";
Получим "catma is a principle ..."
0
78 / 60 / 9
Регистрация: 26.06.2013
Сообщений: 198
06.07.2013, 11:30 11
Wenter, прикрепленный проект создан в VC++2008, а у вас 2012. Studio запросит преобразовать, соглашайтесь.
Вложения
Тип файла: zip WordReplacer.zip (6.5 Кб, 16 просмотров)
1
0 / 0 / 0
Регистрация: 03.07.2013
Сообщений: 14
06.07.2013, 18:54  [ТС] 12
nxtech++ )
0
06.07.2013, 18:54
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.07.2013, 18:54
Помогаю со студенческими работами здесь

В заданном тексте везде заменить слово A1 на слово A2
в заданном тексте везде заменить слово A1 на слово A2(длины слов не совпадают)

В заданном тексте везде заменить слово А1 на слово А2
В заданном тексте везде заменить слово А1 на слово А2 (длины слов в общем случае не совпадают)....

В заданном тексте везде заменить слово А1 на слово А2
В заданном тексте везде заменить слово А1 на слово А2 (длины слов в общем случае не совпадают)....

В заданном тексте везде заменить слово A1 на слово A2
в заданном тексте везде заменить слово A1 на слово A2(длины слов не совпадают)


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

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

Новые блоги и статьи
Использование связки C# и PHP в корпоративной разработке и микросервисной архитектуре
InfoMaster 16.01.2025
Введение в интеграцию C# и PHP В современной корпоративной разработке все чаще возникает потребность в создании гибких и масштабируемых решений, способных эффективно решать широкий спектр. . .
Как использовать Kerio дома для управления сетью и пользователями
InfoMaster 16.01.2025
Использование технологий для улучшения повседневной жизни стало неотъемлемой частью современного быта. Одной из таких технологий является Kerio — мощный инструмент для управления сетью и. . .
Есть ли будущее у DVD и Blu-ray?
InfoMaster 16.01.2025
В эпоху стремительного развития цифровых технологий и повсеместного распространения потоковых сервисов вопрос о будущем физических носителей информации становится все более актуальным. Особенно остро. . .
Как проводить научные вычисления на Python
InfoMaster 15.01.2025
Python стал одним из наиболее востребованных языков программирования в области научных вычислений благодаря своей простоте, гибкости и обширной экосистеме специализированных библиотек. Научные. . .
Создание игры типа Minecraft на PyGame/Python: пошаговое руководство
InfoMaster 15.01.2025
В данном руководстве мы рассмотрим процесс создания игры в стиле Minecraft с использованием библиотеки PyGame на языке программирования Python. Этот проект идеально подходит как для начинающих. . .
Как создать свою первую игру в стиле Doom на Unreal Engine
InfoMaster 15.01.2025
Разработка шутера от первого лица в стиле классического Doom представляет собой увлекательное путешествие в мир игрового программирования, где сочетаются творческий подход и технические навыки. . . .
Параллельное программировани­е: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru