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

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

Войти
Регистрация
Восстановить пароль
 
alisa_yur
0 / 0 / 0
Регистрация: 13.04.2015
Сообщений: 19
#1

Определить, верно ли, что в строке s есть 5 букв "е", которые идут подряд - C++

10.06.2016, 10:12. Просмотров 224. Ответов 4

Дано ряд символов S. Определить, верно ли, что в ряду s есть 5 букв е которые идут подряд
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2016, 10:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить, верно ли, что в строке s есть 5 букв "е", которые идут подряд (C++):

Дана строка символов. Определить, стоят ли подряд в этой строке символы "а" и "б" - C++
Дана строка символов. Определить, стоят ли подряд в этой строке символы "а" и "б"

Определить, верно ли, что матрица заполнена как в известной игре "Сапёр"? - C++
Задаётся двумерный массив с одинаковым количеством строки и столбцов не более 100 - размер массива. Элементами массива будут целые числа от...

Напечатать те слова, которые состоят из всех букв, что и слово "red" - C++
Напечатать те слова, которые состоят из всех букв, что и слово "red". Повторения допускаются. Слово находится в файле red.txt. #include...

Определить количество букв "а" в заданной строке - C++
Символы вводим с клавиатуры

Подсчитать, сколько букв "Р", "к", "т" в данной строке - C++
дана строка подсчитать сколько в ней букв Р, к, т. помогите=)

В тех словах, которые окончиваются сочетанием букв "ть", заменить его окончание на "ил" - C++
дана строка. группы символов, разделенные пробелами и не содержащих пробелов внутри себя, называются словами. в тех словах, которые...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
no_attention
27 / 27 / 13
Регистрация: 18.05.2016
Сообщений: 128
10.06.2016, 10:50 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int main()
{
    char *s = "fdsfndsifaaageeeeenfdjgndfkjjjjj";
    for (uint i = 0; i < strlen(s) - 4; ++i)
    {
        if (s[i] == 'e')
        {
            bool is_ok = true;
            for (uint j = i + 1; j < i + 5; ++j)
            {
                if (s[i] != s[j])
                    is_ok = false;
            }
            if (is_ok)
            {
                cout << "Пять символов подряд есть." << endl;
                return 0;
            }
        }
    }
    cout << "Пяти символов подряд нет." << endl;
    return 0;
}
Добавлено через 8 минут
Так лучше.
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
int main()
{
    char *s = "ee";
    for (int i = 0; i < int(strlen(s) - 4); ++i)
    {
        if (s[i] == 'e')
        {
            bool is_ok = true;
            for (int j = i + 1; j < i + 5; ++j)
            {
                if (s[i] != s[j])
                    is_ok = false;
            }
            if (is_ok)
            {
                cout << "Пять символов подряд есть." << endl;
                return 0;
            }
            i += 4;
        }
    }
    cout << "Пяти символов подряд нет." << endl;
    return 0;
}
0
Байт
Эксперт C
16061 / 10330 / 1540
Регистрация: 24.12.2010
Сообщений: 19,449
10.06.2016, 10:52 #3
C++
1
if (strstr(s, "eeeee")) ...
1
no_attention
27 / 27 / 13
Регистрация: 18.05.2016
Сообщений: 128
10.06.2016, 10:57 #4
Байт, чувствую себя глупо.
0
Байт
Эксперт C
16061 / 10330 / 1540
Регистрация: 24.12.2010
Сообщений: 19,449
10.06.2016, 11:44 #5
no_attention, Не убивайтесь. Функции strstr вы могли и не знать. И "все мы учились по-немногу..."
Но вот еще маленькое замечание общего порядка. Строки 9-14 вашего второго кода можно оформить так
C++
1
2
3
4
5
for (int j = i + 1; j < i + 5; ++j)
            {
                if (s[i] != s[j]) break;
            }
            if (j ==i+5)  // Значит, достигли благополучно конца цикла
И лишних переменных вводить не надо, и пустых прокручивание цикла нет (когда is_ok уже равно false)
Мелочи, конечно...
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2016, 11:44
Привет! Вот еще темы с ответами:

Определить и вывести по три в строке числа из заданного диапазона, которые заканчиваются цифрой "5" - C++
Определить и вывести по три в строке числа из заданного диапазона, которые заканчиваются цифрой &quot;5&quot;.

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...

Выяснить, есть ли в заданной строке слова, которые содержат все буквы слова "read" - C++
Помогите, пожалуйста, с кодом на с++. Задание было такое: Дано строку символов. Выяснить, есть ли в ней слова, которые содержат все...

Дано натуральное число. Верно ли, что цифра "a" встречается в нем реже, чем цифра "b"? - C++
Дано натуральное число. Верно ли, что цифра a встречается в нем реже, чем цифра b. Заранее спасибо


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
10.06.2016, 11:44
Ответ Создать тему
Опции темы

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