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

Определить длину самой большой последовательности подряд идущих согласных - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ найти корень уравнения методом хорд и касательных на С http://www.cyberforum.ru/cpp-beginners/thread18894.html
найти корень уравнения (x*x + ln(x)-2) методом хорд и касательных на С. Если не можете, тогда подскажите плз... В этом методе есть f, f1, f2.. f-само уравнение, а что задавать для f1,f2 ? Заранее...
C++ Рисование треугольника Здравствуйте, нужно сделать вот это через подпрограмму: ----*---- ---*-*--- --*---*-- -*-----*- ********* '-' это пробелы http://www.cyberforum.ru/cpp-beginners/thread18882.html
Каким образом нормально считать с консоли строку? C++
Дело в том что необходимо считывать строки вводимые с консоли. Но полноценно это не выходит. Ф-ция scanf() обеспечивает считывание только до первого пробела, сколько читал мануалов по ее...
C++ Need an identifier to declare что за ошибка???
Код вызывает вот такие ошибки: din108_1.cpp(15): E2146 Need an identifier to declare din108_1.cpp(23): E2146 Need an identifier to declare Вот полный листинг программы Вот здесь, ошибки:...
C++ Заменить числа числительными http://www.cyberforum.ru/cpp-beginners/thread18853.html
Текст задачи: Имееться текстовый файл, в котором храниться некоторый текст. В тексте встречаються числа, записаные в цифровом представлении, а после числа в скобках одной буквой указан падеж, в...
C++ Выбор слов по образцу из строк текста. С++ Мне нужно написать программу, а я вообще ничего придумать не могу. Подскажите хотябы, что можно сделать=) В произвольном тексте, содержащем не более 10 строк, в каждой строке не более 80 символов,... подробнее

Показать сообщение отдельно
accept
4823 / 3244 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
19.12.2008, 02:02
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
32
33
34
35
36
37
#include <stdio.h>
#include <string.h>
 
#define MAXLINE  1000       /* максимальная длина строки */
#define MAXWORD  MAXLINE    /* максимальная длина слова */
 
/* определяет длину самой большой последовательности подряд идущих согласных;
   в лине только инглиш */
main()
{
    char line[MAXLINE], word[MAXWORD], *linep, *wordp;
    int nc, nltrs, maxlen = 0;
    const char *ltrlist = "bcdfghjklmnprstvwxz";
    
    while ((linep = fgets(line, MAXLINE, stdin)) != NULL) { // читает построчно
        if (linep[0] == '\n'
         || (linep[0] == '\r' && linep[1] == '\n')) // хотите выйти в виндовс нажмите ентер
            break;
        while (sscanf(linep, "%s%n", word, &nc) == 1) { // раскладывает строку на слова
            linep += nc;
            if ((wordp = strpbrk(word, ltrlist)) != NULL) { // ищет согласную в слове
                for (nltrs = 0; *wordp != '\0'; wordp++)
                    if (strchr(ltrlist, *wordp) != NULL)
                        nltrs++;
                    else { // согласные закончились, слово продолжается, проверить кол-во
                        if (nltrs > maxlen)
                            maxlen = nltrs;
                        nltrs = 0;
                    }
                if (nltrs > 0 && nltrs > maxlen) // слово закончилось, проверить кол-во
                    maxlen = nltrs;
            }
        }
    }
    printf("%d\n", maxlen);
    return 0;
}
Добавлено через 5 минут 36 секунд
забыл добавить можно вывести слово, в котором она найдена
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru