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

Найти самое длинное слово в строке (исправить код) - C++

Восстановить пароль Регистрация
 
djzhenia
 Аватар для djzhenia
0 / 0 / 0
Регистрация: 14.12.2013
Сообщений: 49
13.05.2014, 21:35     Найти самое длинное слово в строке (исправить код) #1
Задание: найти самое длинное слово в строке
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
    int i=0,k[50],l=0;
    char r[50];
    cout<<"input str: ";
    cin.get(r,50);
    char slovo [50];
    while(r!='\0')
    {
        strchr(r,' ');
        do
        {
            k[l]++;
            i++;
            if(strlen(slovo)==0 || k[l]>k[l-1])
                strncpy(slovo,r,k[l]);
        }
        while(r[i]!=' ');
        cout<<slovo<<endl;
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2014, 21:35     Найти самое длинное слово в строке (исправить код)
Посмотрите здесь:

C++ Найти самое длинное слово в строке
C++ Строки. В заданном тексте найти самое длинное слово и самое длинное предложение.
C++ Найти самое короткое и самое длинное слово в строке
Найти самое длинное слово в строке C++
C++ В строке найти самое длинное симметричное слово
C++ Найти самое длинное слово в строке
C++ В строке символов найти самое длинное слово
C++ Найти самое короткое и самое длинное слово в строке

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4324 / 3745 / 1260
Регистрация: 14.04.2014
Сообщений: 14,698
13.05.2014, 21:45     Найти самое длинное слово в строке (исправить код) #2
А позицию, возвращаемую strchr(), почему не запоминаешь?
Вообще проще использовать strtok().
djzhenia
 Аватар для djzhenia
0 / 0 / 0
Регистрация: 14.12.2013
Сообщений: 49
13.05.2014, 22:13  [ТС]     Найти самое длинное слово в строке (исправить код) #3
Добавлено через 16 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void second()
{
    char r[50],slovo[20];
    cout<<"input str: ";
    cin.get(r,50);
    char * pch = strtok (r," "); // во втором параметре указаны разделитель (пробел, запятая, точка, тире)
    while (pch != NULL)                         // пока есть лексемы
    {
          if(strlen(slovo) < strlen(pch)) strcpy(slovo,pch);
          pch = strtok (NULL, " ");
    }
    cout<<endl<<slovo<<endl;
}
что не так?
Yandex
Объявления
13.05.2014, 22:13     Найти самое длинное слово в строке (исправить код)
Ответ Создать тему
Опции темы

Текущее время: 10:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru