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

Strtok() и самое длинное слово - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дан треугольник http://www.cyberforum.ru/cpp-beginners/thread414163.html
Дан треугольник. Найти координаты точки пересечения высоты и медианы.
C++ в строке введенной с клавиатуры необходимо перевернуть все слова которые имеют парное количество символов. кто может помогите... буду очень признательна... http://www.cyberforum.ru/cpp-beginners/thread414161.html
C++ си, чтение строки из stdin с пробелами
Доброго времени суток, Надо записать строку в char * str. scanf("%s",str) читает до пробела, gets срабатывает сразу при вызове, как будто считывает весь stdin со всеми предыдущими printf() или...
C++ Функции
У меня тут проблема с с++, еррор спавнинг короче, пока думаю в чем проблема нужна ваша помощь, в первой рабое надо найти ошибки, где я накосячил, а вторую по функции переделать #include...
C++ Как в консоли считать информацию(в массив), не учитывая enter??? http://www.cyberforum.ru/cpp-beginners/thread414151.html
День добрый всем! Нам задали программу написать, она не очень сложная , но у меня возникает вопрос только по поводу ввода символов через клавиатуру: Символы вводиться либо в строчку без пробелов и...
C++ Заменить все четные элементы массива на их квадраты, а нечетные удвоить Так и не пойму эти массивы, помогите с задачами, пожалуйста!!! 1. Удалить из массива М (26) первый положительный элемент. 2. Заменить все четные элементы массива А (20) на их квадраты, а нечетные... подробнее

Показать сообщение отдельно
SpartakusMd
21 / 21 / 2
Регистрация: 29.03.2010
Сообщений: 172

Strtok() и самое длинное слово - C++

22.12.2011, 00:13. Просмотров 460. Ответов 7
Метки (Все метки)

Здраствуйте!
Есть задача где нужно найти самое длинное и самое короткое слово в тексте. В програме использовал strtok но не работает, при повторном вызове выдаёт NULL.
Здесь код:
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
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
int main ()
{
    char text[100], *cuvint, *cuvintmin, *cuvintmax;
    int i, k;
    
    printf("Dati textul:\n");
    scanf("%s", &text);
    
    cuvint = strtok(text, " .,:;?!");
    cuvintmax = cuvint;
    cuvintmin = cuvint;
    while(cuvint) {
        if(strlen(cuvint) > strlen(cuvintmax)) cuvintmax = cuvint;
        if(strlen(cuvint) < strlen(cuvintmin)) cuvintmin = cuvint;
        cuvint = strtok(NULL, " .,:;?!");
    }
 
    printf("cuvintmax este %s, cuvintmin este %s.", cuvintmax, cuvintmin);
 
    getch();
    return 0;
}
Переменая cuvintmax - самое длинное слово а cuvintmin - самое короткое.
Как доделать програму?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru