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

Задачка на строки.Дана строка, состоящая из слов - C++

Восстановить пароль Регистрация
 
prorockk
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 10
28.11.2013, 19:12     Задачка на строки.Дана строка, состоящая из слов #1
Дана строка, состоящая из слов (словом считать группу символов, начинающуюся и заканчивающуюся пробелом, или знаками препинания). Вывести самое длинное слово.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2013, 19:12     Задачка на строки.Дана строка, состоящая из слов
Посмотрите здесь:

Дана строка состоящая из слов разделенных ... C++
C++ Дана строка , состоящая из английских слов
Дана строка,состоящая из нескольких слов C++
Дана строка символов, состоящая из букв и цифр. Удалить из строки все цифры C++
C++ Дана строка, состоящая из русских слов. Найти количество слов, которые содержат ровно три буквы «А»
Дана строка, состоящая из слов C++
Дана строка, состоящая из четырех слов. Сформировать новую строку, где первое и последнее слова поменяются C++
Дана строка, состоящая из слов, разделенных пробелами, в конце строки - точка C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5949 / 5554 / 1785
Регистрация: 18.12.2011
Сообщений: 14,193
Завершенные тесты: 1
28.11.2013, 19:46     Задачка на строки.Дана строка, состоящая из слов #2
1. Разбиваем строку на массив строк с помощью функции strtok().
2. Перебираем весь массив и с помощью функции strlen() находим самую длинную.

Добавлено через 14 минут
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
25
26
27
28
29
30
31
#include <iostream>
using namespace std;
 
int main( void )
{
    char str[] = "A string tof tokens nand some  more tokens";
 
    char seps[]   = " ";
    char *token;
    char s[50][100];
    token = strtok( str, seps );
   int i=0;
   while( token != NULL )
   {
        strcpy(s[i++],token);
        token = strtok( NULL, seps ); // C4996
   }
   int n=i;
   int L=strlen(s[0]);
   int num=0;
   for(i=1;i<n;i++)
   {
        int t=strlen(s[i]);
        if(t>L)
        {
            num=i;L=t;
        }
   }
   cout<<s[num]<<enld;
   system("pause");;
}
prorockk
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 10
29.11.2013, 00:10  [ТС]     Задачка на строки.Дана строка, состоящая из слов #3
Цитата Сообщение от zss Посмотреть сообщение
1. Разбиваем строку на массив строк с помощью функции strtok().
2. Перебираем весь массив и с помощью функции strlen() находим самую длинную.

Добавлено через 14 минут
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
25
26
27
28
29
30
31
#include <iostream>
using namespace std;
 
int main( void )
{
    char str[] = "A string tof tokens nand some  more tokens";
 
    char seps[]   = " ";
    char *token;
    char s[50][100];
    token = strtok( str, seps );
   int i=0;
   while( token != NULL )
   {
        strcpy(s[i++],token);
        token = strtok( NULL, seps ); // C4996
   }
   int n=i;
   int L=strlen(s[0]);
   int num=0;
   for(i=1;i<n;i++)
   {
        int t=strlen(s[i]);
        if(t>L)
        {
            num=i;L=t;
        }
   }
   cout<<s[num]<<enld;
   system("pause");;
}
Спасибо большое
Yandex
Объявления
29.11.2013, 00:10     Задачка на строки.Дана строка, состоящая из слов
Ответ Создать тему
Опции темы

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