Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
accept
4833 / 3254 / 454
Регистрация: 10.12.2008
Сообщений: 10,569
19.12.2008, 02:02

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

19.12.2008, 02:02. Просмотров 1226. Ответов 1
Метки (Все метки)

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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2008, 02:02
Готовые ответы и решения для C++ Определить длину самой большой последовательности подряд идущих согласных:

Найти длину самой длинной последовательности подряд идущих нулевых элементов массива
Задан числовой массив A(n). Найти длину самой длинной последовательности подряд...

Найти длину самой длинной последовательности подряд идущих элементов массива, равных нулю
Задан одномерный массив. Найти длину самой длинной последовательности подряд...

Создать массив A(n) и найти длину самойдлиной последовательности подряд идущих элементов
Задан числовой массив A.Найти длинну самой длинной последовательности подряд...

Вывести на экран длину наибольшей последовательности цифр, идущих подряд в строке
2. Задана строка (ввести с клавиатуры), содержащая буквы латинского алфавита и...

Написать функцию для нахождения самой длинной последовательности подряд идущих элементов массива,равных какому-либо заданному
Написать функцию для нахождения самой длинной последовательности подряд идущих...

Определить длину наибольшей подпоследовательности из подряд идущих нулей
Дана последовательность из 100 целых чисел. Определить количество чисел в...

1
Определить длину самой большой последовательности подряд идущих согласных 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 символов,... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru