Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 09.11.2010
Сообщений: 11
1

Поиск слов и замена окончаний

19.03.2011, 20:28. Просмотров 1650. Ответов 4
Метки нет (Все метки)

потребуется программа которая бы в тексте искала слова с окончанием "ing" и заменяла бы эти окончания на "ed"

я с цыклом не могу разобраться!!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.03.2011, 20:28
Ответы с готовыми решениями:

Поиск и замена слов в файле
В общем есть файл1, в нем записаны слова через пробел в 1 строку, нужно чтоб из этого файла бралось...

Поиск и замена слов в файле txt
Как заменить и найти слова в файле txt на С++. То есть есть файл вот такой структуры AAA БББ...

Масивы и строки: поиск и замена слов в тексте
Помогите пожалуйста. Программа на массивы и строки, должна работать так: в начале вводится текст,...

Замена окончаний слов
Доброго времени суток уважаемые форумчане! Пишу программу, которая генерирует pdf документы по...

4
В астрале
Эксперт С++
8023 / 4780 / 654
Регистрация: 24.06.2010
Сообщений: 10,558
19.03.2011, 22:27 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
#include <iostream>
#include <string>
#include <vector>
#include <functional>
#include <algorithm>
 
struct transformer:public std::unary_function<std::string, std::string>
{
public:
    transformer(const std::string& to_f_, const std::string& to_r_):
      to_f(to_f_), to_r(to_r_) 
      {
      }
    result_type operator () (argument_type first)
    {
        first.erase(std::remove_if(first.begin(), first.end(), ispunct), first.end());
                       if(first.size() > to_f.size() && first.substr(first.size()-to_f.size(), to_f.size()) == to_f)
            first.replace(first.end()-to_f.size(), first.end(), to_r);
        return first;
    }
private:
    const std::string& to_f;
    const std::string& to_r;
};
 
int main()
{
    std::vector<std::string> vec((std::istream_iterator<std::string>(std::cin)), std::istream_iterator<std::string>());
    const std::string to_find="ing";
    const std::string to_replace="ed";
    std::transform(vec.begin(), vec.end(), vec.begin(), transformer(to_find, to_replace));
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<std::string>(std::cout, "\n"));
}
1
0 / 0 / 0
Регистрация: 09.11.2010
Сообщений: 11
19.03.2011, 23:11  [ТС] 3
спасибо конечно но код надо по ДОС
0
63 / 78 / 6
Регистрация: 04.11.2010
Сообщений: 249
21.03.2011, 00:09 4
andriko93, а этот под что?
0
Формучанин
362 / 293 / 41
Регистрация: 02.11.2010
Сообщений: 1,234
21.03.2011, 00:59 5
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 <stdio.h>
#include <string.h>
/*
  Программа работает, но содержит ошибки
 
 */
int main() {
    char text[255];
 
    printf("enter text: ");gets(text);
 
    int i=0;    
    while (text[i])
    
        if (!strncmp(&text[i],"ing ",4))
        {
            printf("ed ");
            i+=4;
        }else printf("%c",text[i++]);
 
    printf("\n");gets(text);
    return 0;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.03.2011, 00:59

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Замена окончаний ING на ED
Уже месяц сдаю курсовую работу и не могу добиться одного результата. Проблема заключается в том,...

Работа с регулярными выражениями - проверка окончаний слов
Есть Паттерн: private static string AdjectivePattern =...

Поиск и замена слов
Всем привет! Сразу скажу что не программист, поэтому очень требуется помощь. Вот проблема. Нужен...

Поиск и замена слов циклом
Пишу программу поиска тексте определённых слов, точнее номеров телефон, записанных в файл....


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

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

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