Задачи на практику (основной курс)
Содержание
Занятие 1
Задача 1
Пользователь вводит строку, выводим ее без повторений подряд идущих символов:
aabbbccccaa -> abca
Задача 2
Пользователь вводит строку, выводим ее без повторений символов (встречавшихся ранее). Сделать два варианта: с массивом и без. Сравнить производительность.
aabbbccccaa -> abc
Задача 3
Пользователь вводит строку, выводим символы и их количества.
aabbbcccc ->
a-2
b-3
c-4
Задача 4
Написать функцию проверки, является ли строка панграммой
Задача 5
Написать функцию, которая во введенной строке определяет самую длинную последовательность одинаковых букв и ее длину
aabbbccccaa -> cccc-4
Занятие 2
Задача 1
Пользователь вводит строку, в которой может быть 0 и более слов (Словом считается непрерывная последовательность непробельных символов). Слова могут разделяться любым количеством пробелов. Вывести слова по одному на строке с указанием длины.
" abc cde a b vv " abc-3 cde-3 a-1 b-1 vv-2
Задача 2
В предыдущую задачу добавляется определения слова с максимальной длиной и его вывод в конце списка
" abc cde a b vv " abc-3 cde-3 a-1 b-1 vv-2 max: abc-3
Задача 3
Реализовать алгоритм перевода строки в целое число со знаком, например:
"1234" -> 1234 "+1234" -> 1234 "-1234" ->-1234
Обработку строки проводить посимвольно, двигаясь слева направо (не оценивая заранее длину).
Задача 4
Реализовать алгоритм подсчета количества "счастливых" номеров билетов (диапазон от 000000 до 999999). Определить процент этих номеров от общего количества.
«Счастливость» билета можно определить несколькими методами. "Московский" — если на автобусном билете напечатано шестизначное число, и сумма первых трёх цифр равна сумме последних трёх, то этот билет считается счастливым. "Ленинградский", или Питерский (менее распространённый) — если сумма цифр, стоящих на чётных местах билета, равна сумме цифр, стоящих на нечётных местах билета, то билет считается счастливым