Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 20.11.2021
Сообщений: 21

Вывести цифры последовательности в порядке увеличения частоты их встречаемости

26.01.2022, 19:47. Показов 615. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание уровня ЕГЭ. Создать программу с подпрограммами.

На вход программе подается последовательность цифр. Ввод этих символов заканчивается точкой (другие символы, отличные от «.» и цифр 0 ... 9, во входных данных отсутствуют; в программе на языке Бэйсик символы можно вводить по одному в строке, пока не будет введена точка). Требуется написать эффективную программу, которая будет печатать цифры, встречающиеся во входной последовательности, в порядке увеличения частоты их встречаемости. Каждая цифра при этом должна быть распечатана один раз. Если какие-то цифры встречаются одинаковое число раз, то они выводятся по возрастанию. Например, пусть на вход подаются следующие символы: 1232432. В данном случае программа должна вывести: 1 4 3 2.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.01.2022, 19:47
Ответы с готовыми решениями:

Задание к егэ(Б13), но разработать программу
Всем привет. Скоро егэ. Все школьники усердно учатся. Есть такая проблема, как Б 13 /*Пример Б 13 У исполнителя Удвоитель две...

Создать программу с четырьмя подпрограммами обработки числового массива
Заполните однородный числовой массив N(14) случайными целыми числами в интервале Выведите значения элементов массива сначала в столбик,а...

Задание по работе с файлами,указателями,записями и подпрограммами
Ребят помогите сделать..Заранее большое спасибо Содержимое сгенерированного числового файла INPUT со значениями типа WORD...

2
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,381
27.01.2022, 09:35
lil tigers, смотри, подобную задачу очень просто и эффективно решать, если использовать тот факт, что число элементов конечно (и оно небольшое) - заводишь массив. Индекс массива - собственно число, для которого мы считаем повторы, а содержимое - сколько раз это число встретилось.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var 
  counters : array[0..9] of integer;
  s:string;
  i : integer;
begin
 
 for i:=0 to 9 do counters[i] := 0; {занулить все счётчики
              прим. строго говоря - в Паскале глобальные переменные и так нулём заполнены, 
                       но культура программирования требует иницилизации всех переменных, содержимое которых будет 
                       читаться до первого присвоения}
 
 ReadLn(s);
 
 for i:=1 to Length(s) do
     inc( counters[ ord(s[i])-ord('0') ]);
 
.....
таким образом легко подсчитать количество появлений каждой цифры.

теперь нужно вывести все цифры, у которых счётчик больше нуля в порядке увеличения счётчика (тем самым в порядке увеличения частоты их встречаемости).

Для этого можно использовать такой подход. Найти минимальное значение счётчика (один проход по массиву), потом (ещё один проход по массиву)- вывести все элементы массива, имеющие такое минимальное значение, одновременно очищая их.
повторять это до тех пор, пока минимальное значение не станет равно нулю.

Либо второй подход. Отсортировать массив счётчиков. Но тогда нужно где-то сохранить информацию - какой цифре соответствует данное значение (напомню, что изначально это индекс в массиве, но после перестановки элементов индекс в массиве не будет соответствовать цифре, к которой этот счётчик относится). Эта проблема решается так - либо мы заводим ещё один массив с индексами и сортируем сразу оба массива, либо путём использования типа RECORD (запись, где сохраняем и саму цифры (порядковый номер /индекс) и счётчик.

Дальше ты сам или мне продолжить?
1
Вирусоборец
 Аватар для thyrex
14447 / 7488 / 1580
Регистрация: 06.09.2009
Сообщений: 27,132
27.01.2022, 09:48
mr-Crocodile, это дубль Ошибка времени выполнения: Индекс находился вне границ массива
Надеюсь, модераторы объединят
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.01.2022, 09:48
Помогаю со студенческими работами здесь

Комплексное задание по работе с файлами, указателями, записями и подпрограммами
Всем привет! Очень нуждаюсь в помощи! Помогите, пожалуйста, никак не могу решить эту задачу, даже идей нет( Содержимое...

Создать программу на языке высокого уровня
Само задание Условие Построить стягивающее дерево неориентированного графа S методом поиска в ширину и вывести список ребер...

Задание из ЕГЭ, диаграммы, автотехника
Заранее спасибо!

ЕГЭ 17 задание
Рассматривается множество целых чисел, принадлежащих числовому отрезку , которые оканчиваются цифрой 8 и у которых сумма цифр больше 22....

Задание с4 из егэ
Помогите решить данную задачу, вот примерное условие: надо составить программу, которая бы из входящей строки, в которую входят названия...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru