Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Restartuk
0 / 0 / 0
Регистрация: 23.08.2015
Сообщений: 91
#1

Поиск и замена слова в строке - C++

07.10.2015, 18:31. Просмотров 550. Ответов 1
Метки нет (Все метки)

Добрый вечер. Помогите написать программу которая ищет в введенной строке одинаковые слова и меняет на слово введенное с клавиатуры (любых размеров).
Например:
Введенная стока: tyt bul tyt tyt
Поиск слова для замены: tyt
Слово замени с клавиатуры: zamena
Результат: zamena bul zamena zamena
Нужно использовать функцию strstr и ей подобные.
Только без string,find, replace.
Код должен быть попроще как для новичка.
Спасибо.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2015, 18:31
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Поиск и замена слова в строке (C++):

Поиск в строке всех повторений заданного слова, замена их звездочками - C++
Привет, помогите написать программу по с++. Дело в том, что я в этом языке не разбираюсь абсолютно, и даже не пытался, так как учусь в...

Замена слова в строке - C++
Задание: ввести с клавиатуры строку + слово, которое нужно заменить + слово, на которое нужно заменить. Вывести на экран новый вариант...

Замена в строке слова на букву - C++
Есть строка string n="раз два три"; нужно слово раз заменить на букву Б.

Замена одного слова в строке на другое - C++
Как заменить read на study ? int main(int argc, char**argv) { string /*const*/ text1 = "I'm reading\n"; string /*const*/ text2...

Строки. Замена слова в строке на заданное слово - C++
Задача, ввожу слова в строку потом ввожу слово которое нужно заменить и слово на которое нужно заменить. Т.к с функциями строк плохо знаком...

Поиск слова в файле и его замена - C++
Не могу никак решить одну проблему. Мне осталось в 3 классе написать следующее: - Программа просит ввести строку, которую нужно заменить....

1
Геомеханик
759 / 565 / 387
Регистрация: 26.06.2015
Сообщений: 1,325
08.10.2015, 16:25 #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
#include <iostream>
#include <cstring>
 
char* str_replace(char* str, size_t size, const char* old, const char* ns){
    size_t len, num;
    char*  tmp  = str;
    size_t len1 = strlen(old);
    size_t len2 = strlen(ns);
 
    if(len2 > len1){
        len = strlen(str);
        num = len2 - len1;
    }
 
    while((str = strstr(str, old)) != NULL){
        if(len1 > len2){
            strncpy(str, ns, len2);
            strcpy(str + len2, str + len1);
        } else if(len1 < len2){
 
            if((len + num + 1) >= size)
                break;
 
            memmove(str + num, str, (len - (size_t)(str - tmp)) * sizeof(char));
            strncpy(str, ns, len2);
            len += num;
        } else
            strncpy(str, ns, len2);
        str += len2;
    }
    return tmp;
}
 
int main(void){
    char str[256] = "дуб, (дуб), липа, дуб, {дуб}... дуб";
    char old[]    = "дуб";
    char ns[]     = "берёза";
 
    std::cout << str << std::endl;
    std::cout << str_replace(str, sizeof(str)-1, old, ns) << std::endl;
    return 0;
}
Пример работы кода
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2015, 16:25
Привет! Вот еще темы с ответами:

Замена одного слова на другое в строке типа char - C++
Замена одного символа на другой в строке типа char - C++ Вообщем есть массив символов char str = &quot;abcafgh&quot;; нужно все &quot;a&quot; заменить...

Файлы, поиск слова и замена на другое слово - C++
Напишите программу, которая в файле INPUT.txt заменяет слово &quot;hello&quot; на слово &quot;reboot&quot;

Ошибка. Поиск и замена слова в текстовом файле - C++
Задача: найти и заменить одно слово на другое в текстовом файле. Я сделал вот так, но она работает не совсем правильно - теряет символ...

Поиск подстроки в строке и замена её на другую строку - C++
Подскажите пожалуйста как мне поправить ошибку? Написал такую функцию. Всё работает правильно (т.е. он правильно находит подстроку,...


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

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

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