close
Привет! Цель нашего проекта помочь тебе подготовиться к ЕГЭ (или ОГЭ). У нас более 1000 заданий с подробным решением, сервис, запоминающий твои ответы, и удивительная система тестирования. Обо всем по порядку расскажу тебе после быстрой регистрации.
Присоединиться к ExamMe
ЕГЭ по Информатике
Задание 1. Кодирование и операции над числами в разных системах счисления (0/4)
Задание 2. Построение таблиц истинности логических выражений (0/3)
Задание 3. Анализ информационных моделей (0/4)
Задание 4. Базы данных и файловая система (0/4)
Задание 5. Кодирование и декодирование информации (0/4)
Задание 6. Анализ и построение алгоритмов для исполнителей (0/4)
Задание 7. Анализ диаграмм и электронных таблиц (0/4)
Задание 8. Анализ программ (0/4)
Задание 9. Передача информации (0/4)
Задание 10. Перебор слов и системы счисления (0/4)
Задание 11. Рекурсивные алгоритмы (0/4)
Задание 12. Организация компьютерных сетей (0/4)
Задание 13. Вычисление количества информации (0/4)
Задание 14. Выполнение алгоритмов для исполнителя Робот (0/3)
Задание 15. Поиск путей в графе (0/4)
Задание 16. Системы счисления (0/4)
Задание 17. Запросы для поисковых систем с использованием логических выражений (0/4)
Задание 18. Преобразование логических выражений (0/4)
Задание 19. Обработка массивов и матриц (0/4)
Задание 20. Анализ программы с циклами и условными операторами (0/4)
Задание 21. Анализ программ с циклами и подпрограммами (0/4)
Задание 22. Перебор вариантов, построение дерева (0/4)
Задание 23. Логические уравнения (0/3)
Задание 24. Исправление ошибок в программе (0/5)
Задание 25. Алгоритмы обработки массивов (0/7)
Задание 26. Выигрышная стратегия (0/4)
Задание 27. Программирование (0/7)

На вход программе подаются строчные...

Задание:

На вход программе подаются строчные английские буквы. Ввод этих символов заканчивается точкой (другие символы, отличные от «.» и букв «a»...«z», во входных данных отсутствуют; в программе на языке Бейсик символы можно вводить по одному в строке, пока не будет введена точка). Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая будет печатать буквы, встречающиеся во входной последовательности, в порядке увеличения частоты их встречаемости. Каждая буква должна быть распечатана один раз. Точка при этом не учитывается.

Если какие-то буквы встречаются одинаковое число раз, то они выводятся в алфавитном порядке. Например, пусть на вход подаются следующие символы:
baobaba.

В данном случае программа должна вывести
oab

Решение:

Программа читает все входные символы до точки один раз, подсчитывая в массиве, хранящем 26 целых чисел, количество каждой из букв. Сами входные символы при этом не запоминаются. В дополнительный массив, состоящий из 26 символов, заносятся буквы от «а» до z. Затем элементы первого массива сортируются по неубыванию любым алгоритмом сортировки, параллельно переставляются и элементы второго массива (возможно использование одного массива записей, состоящих из двух полей). При этом элементы с равным числом вхождений символов местами не меняются. Во втором из отсортированных массивов пропускаются элементы, количество которых равно 0, остальные элементы печатаются подряд.

Баллы начисляются только за программу, которая решает задачу хотя бы для одного частного случая (например, для строк, состоящих не более чем из 255 символов).

Задание добавил(а)

Создатель и главный администратор проекта ExamMe.

О задание:

Источник условия: Информатика. Типовые тестовые задания ЕГЭ 2017. Лещинер В.Р.
Источник решения: Тот же, что и условия.

Обсуждения

Только зарегистрированные пользователи могут оставлять комментарии.
Написать комментарий