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

Определить число символов в самом длинном слове строки - C++

Восстановить пароль Регистрация
 
Studyprog
Сообщений: n/a
15.01.2013, 16:28     Определить число символов в самом длинном слове строки #1
Дана последовательность символов S1, …, SN. Группы символов, разделенные пробелом (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами.
Определить число символов в самом длинном слове строки. Слова отделяются знаком “/”.


Кто то может написать ход или хотя бы алгоритм выполнения?
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
tokar2
25 / 25 / 1
Регистрация: 09.11.2012
Сообщений: 229
15.01.2013, 16:37     Определить число символов в самом длинном слове строки #2
Я понял это так, хотя могу и ошибаться.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream.h>
#include <string.h>
 
int main()
{
    char str[]="sejfh / dfgdf/ gbfgb / fbfbgngfnfghng /fvb";
    char *sPtr=strtok(str," /");
    char *max=sPtr;
    int size=strlen(str);
    do{
        if(strlen(max)<strlen(sPtr)) max=sPtr;
        }while(sPtr=strtok(0," /"));
    cout<<max<<endl<<strlen(max);
    system("pause");
    return 0;
}
Studyprog
Сообщений: n/a
15.01.2013, 17:22     Определить число символов в самом длинном слове строки #3
вы немного не так поняли задание , вводится нное количество слов, программа должна распознать их как слова и вывести слово слешь слово слешь и находит слово состоящее из максимального количества символов
tokar2
25 / 25 / 1
Регистрация: 09.11.2012
Сообщений: 229
15.01.2013, 17:28     Определить число символов в самом длинном слове строки #4
Вот теперь правильно?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h>
#include <string.h>
 
int main()
{
    char str[256];
    char buf[256]="";
    cin.getline(str,256);
    char *sPtr=strtok(str," ");
    char *max=sPtr;
    int size=strlen(str);
    do{
        if(strlen(max)<strlen(sPtr)) max=sPtr;
        strcat(buf,sPtr);
        strcat(buf,"/");
        }while(sPtr=strtok(0," "));
    cout<<endl<<buf<<endl<<max<<endl<<strlen(max);
    system("pause");
    return 0;
}
Igor3D
792 / 409 / 33
Регистрация: 01.10.2012
Сообщений: 2,067
15.01.2013, 18:33     Определить число символов в самом длинном слове строки #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Studyprog Посмотреть сообщение
Кто то может написать ход или хотя бы алгоритм выполнения?
Ну давайте я попробую

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const char * LongestWord( const char * s, int & count )
{
 count = 0;
 if (!s) return 0;
 const char * actW, * maxW = 0; 
 while (s[0]) {
  if (s[0] == ' ') actW = 0;
  else {
    if (!actW) actW = s;
    if (s - actW + 1 > count) {
     maxW = actW;
     count = s - actW + 1;
    }
  }
  ++s;
 }
 return maxW; 
}
Yandex
Объявления
15.01.2013, 18:33     Определить число символов в самом длинном слове строки
Ответ Создать тему
Опции темы

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