Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Решение задачи по С++ builder, C++Builder 
:(
    Опции темы
Gull
Дата 3.6.2006, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 3.6.2006

Репутация: нет
Всего: нет



Условие:
Дан текст. Способ описания текста (массив символов, строка, массив строк, текстовый файл) зависит от языка про-граммирования и целей обучения. Текст разбит на слова. Предполагается, что слово—это группа символов, не содержащая пробелов и отделенная пробелами от других слов. 
Задача:
В тех словах, которые оканчиваются сочетанием букв ed, заменить это окончание на ing. 


 
PM MAIL   Вверх
sexton
Дата 4.6.2006, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sexton=Пономарь (eng)
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 5.5.2004
Где: Ульяновск

Репутация: 5
Всего: 9



Ну и в чем проблема? Алгоритм выделения слов в строке на форуме пролетал не раз - стоило только воспользоваться поиском.
Код

    String Text = "Preved. Something disabled and enabled."
    char seps[] = "\"\" ,.\t\n?!";
    char *token = strtok( Text.c_str(), seps );
    int tok_count = 0;
    while( token != NULL )
    {
      if ((tok_count > 0)&&(StrLen(token) > 1))
        Text = AnsiReplaceText(Text, "ed", "ing");
      token = strtok( NULL, seps );
      tok_count++;
    }


Код правда не проверял, но вроде должен работать smile 
PM MAIL WWW ICQ   Вверх
Gull
Дата 4.6.2006, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 3.6.2006

Репутация: нет
Всего: нет



Хммм почему то не срабатывает.  smile  Можешь у себя проверить? Выложи пожалуйста весь код начиная с #pragma hdrstop и заканчивая return 0. Заранее спасибо! 
PM MAIL   Вверх
sexton
Дата 4.6.2006, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sexton=Пономарь (eng)
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 5.5.2004
Где: Ульяновск

Репутация: 5
Всего: 9



А блин да... прошляпил я тот момент, что это должно быть окончание ed... Сейчас исправлю. 
PM MAIL WWW ICQ   Вверх
sexton
Дата 4.6.2006, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sexton=Пономарь (eng)
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 5.5.2004
Где: Ульяновск

Репутация: 5
Всего: 9



Вот тебе на обработку:
Код

    String Text = "Preved. Something disabled and enabled.";
    String Temp;
    Temp = Text.c_str();
    char seps[] = "\"\" ,.\t\n?!";
    char *token = strtok( Temp.c_str(), seps );
    while( token != NULL )
    {
      if (SameText(RightStr(token, 2), "ed"))
      {
        Text = AnsiReplaceText(Text, token, LeftStr(token, StrLen(token)-2) + "ing");
      }
      token = strtok( NULL, seps );
    }
    ShowMessage(Text);
}

Дописываем в h-файл:
Код

#include <StrUtils.hpp>

Решение не идеальное, но рабочее smile
  

Это сообщение отредактировал(а) sexton - 4.6.2006, 16:51
PM MAIL WWW ICQ   Вверх
Coala
Дата 6.6.2006, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 4.5.2006
Где: Москва

Репутация: нет
Всего: 0



Код

#include <stdio.h>
  char src[256], dst[256];
  strcpy(src, "Preved. Something disabled and enabled.");
  dst[0] = 0;
  char *p = strtok(src, "ed");
  while (p) {
    strcat(dst, p);
    strcat(dst, "ing");
    p = strtok(NULL, "ed");
  }
 
PM MAIL   Вверх
sexton
Дата 7.6.2006, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sexton=Пономарь (eng)
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 5.5.2004
Где: Ульяновск

Репутация: 5
Всего: 9



Coala, слова должны на ed заканчиваться... 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0823 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.