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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
nikola_omsk
3 / 3 / 0
Регистрация: 27.05.2011
Сообщений: 73
#1

В тех словах, которые оканчиваются сочетанием букв ing, заменить это окончание на ed. - C++

26.12.2011, 15:56. Просмотров 1421. Ответов 4
Метки нет (Все метки)

Дан текст. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелы внутри себя, будем называть словами.
В тех словах, которые оканчиваются сочетанием букв ing, заменить это окончание на ed.
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
#include <vector>
#include <string>
#include <sstream>
#include <iostream>
 
int main()
{
    std::string Find="ing";
    std::string Ins="ed";
    std::string Str="Hello hing and ning and ting ying";
    std::istringstream ist(Str);
    std::vector<std::string> Vec;
    std::string Temp;
    while(ist>>Temp)
        Vec.push_back(Temp);
    for(size_t i=0; i<Vec.size(); ++i)
    {
         std::string::iterator Iter=Vec[i].end()-Find.size();
         std::string Str="";
         Str.assign(Iter, Vec[i].end());
         if(Str==Find)
         {
             Vec[i].erase(Iter, Vec[i].end());
             Vec[i]+=Ins;
         }
    }
    for(size_t i=0; i<Vec.size(); ++i)
        std::cout<<Vec[i]<<' ';
    std::cout<<std::endl;
    return 0;
}
помогите переделать на си
1
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2011, 15:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В тех словах, которые оканчиваются сочетанием букв ing, заменить это окончание на ed. (C++):

В тех словах, которые оканчиваются сочетанием букв ing, заменить окончание на ed - C++
Дан текст. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелы внутри себя, будем называть словами. В...

В словах, которые заканчиваются сочетанием букв ing, заменить это окончание на ed - C++
Вводит символьный массив из 16 символов. Группы символов, разделенные пробелами. В этих словах, которые заканчиваются сочетанием букв ing,...

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

Строки (ввести строку разделенную пробелами, и в словах которые оканчиваются на АВС заменить СС) - C++
ввести строку разделенную пробелами, и в словах которые оканчиваются на АВС заменить СС... помогите просто определить 3 последнии буквы,и...

Дан текстовый файл. Заменить окончание ing каждого слова, встречающегося в заданном предложении на ED и сохранить результат в новый файл. - C++
Всем вечер добрый. Хотелось бы, чтоб кто-нибудь помог с прогой. Её текст ниже: Дан текстовый файл. Заменить окончание ing каждого...

Вывести на экран числа, кроме тех, которые делятся на 3 или оканчиваются на 3 - C++
Задача такова: Даны натуральные числа . Вывести на экран эти числа, кроме тех, которые делятся на 3 или оканчиваются на 3. ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
igorrr37
1647 / 1275 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
26.12.2011, 19:16 #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <string.h>
 
int main()
{
    char str[] = "Hingo   hing  inglhng i ng ting", *pIng = "ing", *pEd = "ed", *p = NULL, *pTmp = NULL;
    for(p =  strtok(str, " "); p; p = strtok(NULL, " "))
    {
        pTmp = p + strlen(p) - 3;
        if( !strcmp(pIng, pTmp))
        {
            strcpy(pTmp, pEd);
        }
        printf("%s ", p);
    }
    return 0;
}
2
nikola_omsk
3 / 3 / 0
Регистрация: 27.05.2011
Сообщений: 73
26.12.2011, 20:29  [ТС] #3
тут она везде меняет ing сочетание...а как сделать чтоб именно оканчание слова

Добавлено через 1 час 10 минут
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
#include <stdio.h>
#include <string.h>
 
char abai(char *str)
{
    char *pIng = "ing", *pEd = "ed", *p = NULL, *pTmp = NULL;
    for(p =  strtok(str, " "); p; p = strtok(NULL, " "))
    {
        pTmp = p + strlen(p) - 3;
        if( !strcmp(pIng, pTmp))
        {
            strcpy(pTmp, pEd);
        }
        printf("%s ", p);
    }
    return 0;
}
 
void main()
{int i;
char text[1000], *p=NULL;
 printf("Vvedite text: ");
 scanf("%s",&text);
 abai(text);
 
 
}
переделал в процедуру..почему то делает только для 1 слова
0
igorrr37
1647 / 1275 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
26.12.2011, 20:45 #4
>переделал в процедуру..почему то делает только для 1 слова
вместо сканф попробуй гетс
1
nikola_omsk
3 / 3 / 0
Регистрация: 27.05.2011
Сообщений: 73
26.12.2011, 20:50  [ТС] #5
спасиб огромное

Добавлено через 2 минуты
посмотрите пожалуйста http://www.cyberforum.ru/cpp-beginne...ead418268.html
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2011, 20:50
Привет! Вот еще темы с ответами:

Заменить в словах окончания "ing" на "ed". - C++
Дана последовательность английских слов. В словах, которые оканчиваются сочетанием букв &quot;ing&quot;, заменить это окончание на &quot;ed&quot;. Помогите...

Составить программу для подсчета числа одинаковых букв в словах X и Y равной длины, стоящих на одних и тех же местах - C++
Составить программу для подсчета числа одинаковых букв в словах X и Y равной длины, стоящих на одних и тех же местах.

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

Дан текст. В тех словах которые оканчиваются сочетанием букв ing, заменить это окончание на ed - Delphi
Дан текст. Группы символов, разделенный пробелами(одним или несколькими) и не содержащие пробелов внутри себя , будем называть, как и...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
26.12.2011, 20:50
Ответ Создать тему
Опции темы

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