Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2013, 19:38   #1
KnightMrak
 
Регистрация: 12.11.2012
Сообщений: 3
Вопрос String, найти самое длинное слово(C++ Builder)

Доброго времени суток.
Извиняюсь, если мой вопрос покажется тупым. Не могу реализовать нахождение самого длинного слова в предложении String.
Вот мои наработки. Прошу помогите исправить косяки.
Код:
void __fastcall TForm1::Button2Click(TObject *Sender)
{
AnsiString S=Edit3->Text;
S=S+" ";
int p=1,i, dl;
for(i=1; i<S.Length(); i++)
if(S[i]==' ')
        {
        dl=p-i;
        if(S.Length()>dl)
                {
                S.Delete(p, i-p+1);
                i=p-1;
                }
              }
Edit4->Text=S;
}
Заранее благодарен.
KnightMrak вне форума Ответить с цитированием
Старый 18.11.2013, 22:41   #2
Nuklon
Форумчанин
 
Аватар для Nuklon
 
Регистрация: 05.04.2012
Сообщений: 134
По умолчанию

Код:

void get_maxword(AnsiString& dst, const AnsiString& src){
     const char* s = src.c_str();
     const char* a, *b, *f, *l;

     f = l = a = b = s;
     do {
             if(IsCharAlpha(*s))
                    b = s;
             else {
                    if((b - a) > (l - f)) {
                          f = a + 1;
                          l = b + 1;
                    }
                    a = s;
            }
     } while(*s++ != '\0');

     if((l - f) > 0)
            dst = AnsiString(f, l - f);
}



void __fastcall TForm1::Button1Click(TObject *Sender) {
    AnsiString s = "AAAA, ,ABBBBBBBBBBZ. [CC] HHHJ";
    AnsiString  d;
    get_maxword(d, s);
    ShowMessage(d);
}
Nuklon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти самое длинное слово в строке. Mineralkaaaa Помощь студентам 9 16.12.2012 21:01
С# найти самое длинное и самое короткое слово в строке и вывести их Зеленый Чай Помощь студентам 4 06.01.2012 18:40
найти самое длинное симметричное слово Си++ xVeteRx Помощь студентам 3 10.04.2009 21:25
С++ Найти самое длинное слово строки k0z7_g0b1in Общие вопросы C/C++ 3 22.04.2007 17:37