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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.93
plemiash
0 / 0 / 0
Регистрация: 13.01.2009
Сообщений: 17
#1

Найти самое большое слово в строке - C++

13.01.2009, 14:49. Просмотров 1775. Ответов 5
Метки нет (Все метки)

помогите пож...я не могу додумать как найти самое большое слово в строке.
один массив, в нём пять слов разной величины рзделены пробелами
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.01.2009, 14:49     Найти самое большое слово в строке
Посмотрите здесь:

C++ Найти самое длинное слово в строке
C++ Найти самое короткое слово в строке
Найти самое большое и самое маленькое число в матрице C++
C++ Найти самое длинное слово в строке
Найти самое короткое слово в строке C++
Найти самое длинное слово в строке C++
C++ Найти самое короткое слово в строке
C++ В строке найти самое длинное симметричное слово
C++ Найти самое длинное слово в строке
C++ В строке символов найти самое длинное слово
C++ Найти самое длинное симметричное слово в строке
Найти в данной строке самое длинное слово C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Фенрир
42 / 38 / 2
Регистрация: 05.01.2009
Сообщений: 394
13.01.2009, 15:18     Найти самое большое слово в строке #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <vector.h>
#include <iostream.h>
#include <sstream.h>
int main (){
std :: string :: size_type pos=0, pos_prev=0;
vector <string> vec;
string str;
getline(cin, str);
while(pos=str.find_first_of(' ', pos)!=string :: npos)
{  vec.push_back(str.substr(prev_pos, pos-prev_pos));
    prev_pos=pos;
    ++pos;
}
vec.push_back(str.substr(prev_pos, pos-prev_pos));
vector<string> :: iterator i=vec.begin();
string max=*i;
 
for (i=vec.begin(); i!=vec.end(); ++i)
{  max= (max>*i) ? max : *i;
}
 
cout<<"max word:"<<endl;
cout<<max;
}
Добавлено через 7 минут 56 секунд
max= (max.size()>i->size) ? max : *i;
plemiash
0 / 0 / 0
Регистрация: 13.01.2009
Сообщений: 17
13.01.2009, 17:37  [ТС]     Найти самое большое слово в строке #3
ой ребята...только мне на чистом "С" хотелос бы посмотреть как это выглядит
accept
4817 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
14.01.2009, 11:54     Найти самое большое слово в строке #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
 
#include <stdio.h>
#include <string.h>
 
#define MAXLINE  1000   /* максимальная длина строки */
#define MAXWORD  100    /* максимальная длина слова */
 
/* находит самое большое слово в строке */
main()
{
    char line[MAXLINE] = "one two three four";
    char word[MAXWORD], saved[MAXWORD], *p;
    int nc, maxlen;
    
    for (maxlen = 0, p = line;
         sscanf(p, "%s%n", word, &nc) == 1;
         p += nc)
        if (maxlen < strlen(word)) {
            maxlen = strlen(word);
            strcpy(saved, word);
        }
    printf("%s %d\n", saved, maxlen);
    return 0;
}
B.u.X
Сообщений: n/a
24.01.2009, 18:51     Найти самое большое слово в строке #5
метоксихлордиэтиламинометилбутиламиноакридин
accept
4817 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
25.01.2009, 02:48     Найти самое большое слово в строке #6
C++
1
2
    char line[MAXLINE] = "метоксихлордиэтиламинометилбутиламиноакридин \
one two three four";
Код
[guest@station tmp]$ ./test
метоксихлордиэтиламинометилбутиламиноакридин 44
[guest@station tmp]$
Yandex
Объявления
25.01.2009, 02:48     Найти самое большое слово в строке
Ответ Создать тему
Опции темы

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