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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
zall
0 / 0 / 0
Регистрация: 02.09.2008
Сообщений: 5
#1

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

18.12.2008, 22:27. Просмотров 1152. Ответов 1
Метки нет (Все метки)

В строке записаны несколько предложений . Каждое предложение заканчивается точкой, вопросительным или восклицательным знаками.
1. Вывести на экран только те предложения в которых нет ни 1 цифры
2. Определить длину самой большой последовательности подряд идущих согласных

Это 2 разные программы. В понедельник надо сдавать задачи а что делать я не знаю помогите пожалуйста... Извиняюсь если нарушил правила форума.
P.S. искал через поиск не нашёл похожего на моё

если можно код с коментариями а то я совсем не алё в с++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2008, 22:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить длину самой большой последовательности подряд идущих согласных (C++):

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

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

Создать массив A(n) и найти длину самойдлиной последовательности подряд идущих элементов - C++
Задан числовой массив A.Найти длинну самой длинной последовательности подряд идущих элементов массива,которые равны нулю. Число N вводится...

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
19.12.2008, 02:02 #2
Код
 
#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 секунд
забыл добавить можно вывести слово, в котором она найдена
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2008, 02:02
Привет! Вот еще темы с ответами:

Определить длину самой длинной подстроки из подряд стоящих букв «е» - C++
Прошу проверить программу на правильность. Условие: Дана символьная строка. Определить длину самой длинной подстроки из подряд стоящих...

Определить, максимальное количество подряд идущих отрицательных членов последовательности. - C++
Вводится натуральное число N, а затем последовательность N чисел. Определить, максимальное количество подряд идущих отрицательных членов...

Найти место вхождения в строку самой длинной последовательности пробелов и определить ее длину - C++
Доброго времени суток! нужно найти место вхождения в строку самой длинной последовательности пробелов и определить ее длину, у меня в...

Определить какое наибольшее число подряд идущих элементов последовательности равны друг другу - C++
Добрый вечер, решил задачку, но выдаёт ошибку на пятом тесте. У меня два вопроса: Есть ли более простой способ решения и, собственно,...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru