🧑🏫 Практика#
Задачи, которые решаем на занятиях.
Задача 1. Количество гласных букв#
Условие#
Дана строка, состоящая из латинских букв (строчных и заглавных) и пробелов. Определите, сколько в ней гласных букв.
Гласными считаются буквы A, E, I, O, U, Y и соответствующие строчные a, e, i, o, u, y.
Входные данные#
Одна строка.
Выходные данные#
Одно число — количество гласных букв.
Примеры#
Ввод:
Hello World
Вывод:
3
Ввод:
Programming
Вывод:
3
Заметка
В строке есть пробел, поэтому читать её нужно через
getline(cin, text):cin >> textпрочитает толькоHello. Дальше перебираем символыtext[i]и сравниваем каждый с гласными через||.
Задача 2. Самая длинная серия#
Условие#
Дан массив целых чисел. Найдите длину самой длинной последовательности одинаковых подряд идущих элементов.
Входные данные#
В первой строке вводится число N (1 ≤ N ≤ 1000). Во второй строке — N целых чисел.
Выходные данные#
Одно число — длина самой длинной серии.
Пример#
Ввод:
10
4 4 4 2 2 7 7 7 7 1
Вывод:
4
Заметка
Серии:
4 4 4(длина 3),2 2(2),7 7 7 7(4),1(1). Самая длинная — 4. Сравнивайтеa[i]сa[i - 1], поэтому цикл начинается сi = 1, а начальныеcurrentиmax_lenравны 1: даже один элемент — это серия.
Задача 3. Лишняя буква#
Условие#
Даны две строки. Определите, сколько различных букв встречается в первой строке, но отсутствует во второй.
Входные данные#
Две строки из строчных латинских букв, каждая на отдельной строке.
Выходные данные#
Одно число.
Пример#
Ввод:
abracadabra
bar
Вывод:
2
Заметка
В первой строке есть буквы
a,b,r,c,d, во второй — толькоa,b,r. Отсутствуютcиd. Чтобы не посчитать одну букву дважды, отмечайте уже учтённые буквы в массивеbool used[26] = {false};по индексуc - 'a'.
Задача 4. Самый частый символ#
Условие#
Дана строка из строчных латинских букв. Определите символ, который встречается в ней чаще всего. Если таких символов несколько, выведите тот, который раньше стоит в алфавите.
Входные данные#
Одна строка.
Выходные данные#
Один символ.
Пример#
Ввод:
mississippi
Вывод:
i
Заметка
Буквы
iиsвстречаются по 4 раза, ноiраньше в алфавите. Подсчитайте частоты в массивеint cnt[26] = {0};и найдите индекс максимума. Сравнение строго>, а не>=: тогда при равенстве останется буква с меньшим индексом. Вывод:char('a' + maxIdx).
Задача 5. Локальные максимумы#
Условие#
Дан массив целых чисел. Элемент называется локальным максимумом, если он строго больше обоих своих соседей. Первый и последний элементы локальными максимумами не считаются.
Выведите количество локальных максимумов.
Входные данные#
В первой строке вводится число N (1 ≤ N ≤ 1000). Во второй строке — N целых чисел.
Выходные данные#
Одно число — количество локальных максимумов.
Пример#
Ввод:
7
1 5 2 4 3 6 1
Вывод:
3
Заметка
Локальные максимумы — 5, 4 и 6. Цикл идёт от
i = 1доi < n - 1, иначе обращение кa[i - 1]илиa[i + 1]выйдет за границы массива. ЕслиN < 3, цикл не выполнится ни разу и ответ равен 0.