Форум программистов, компьютерный форум 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() обеспечивает считывание только до первого пробела, сколько читал мануалов по ее использованию, выхода из ситуации не нашел. getchar() - вообще не то что надо... Прошу вашей помощи. Нужно просто считать введенную строку и сохранить в переменную.
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 Вот полный листинг программы Вот здесь, ошибки: typedef struct Uzel *Ref; typedef struct Uzel {
C++ Выбор слов по образцу из строк текста. С++ http://www.cyberforum.ru/cpp-beginners/thread18827.html
Мне нужно написать программу, а я вообще ничего придумать не могу. Подскажите хотябы, что можно сделать=) В произвольном тексте, содержащем не более 10 строк, в каждой строке не более 80 символов, выбрать и напечатать слова по зпданному образцу *#*#*, где *-согласная, а #-гласная буквы. Я так понимаю текст можно вводить любой и в самом начале, а вот как заставить программу выводить слова не...
C++ Преобразование матрицы Дан двумерный массив. n-строк, 3-столбца. и числа k и L (k!=L),при этом k принадлежит промежутку(1;n) L промежутку (1;n).Преобразовать матрицу так,чтобы строка с исходным номером k,непосредственно следовала за строкой с исходным номером L.Сохранив порядок следования строк.:( подробнее

Показать сообщение отдельно
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
19.12.2008, 02:02     Определить длину самой большой последовательности подряд идущих согласных
Код
 
#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 секунд
забыл добавить можно вывести слово, в котором она найдена
 
Текущее время: 06:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru