Найти наиболее часто повторяющуюся цифру в числе - QBasic
Формулировка задачи:
Дано натуральное число. Определить наиболее часто повторяющуюся в нем цифру и указать ее позиции в числе. Помогите, пожалуйста.
Решение задачи: «Найти наиболее часто повторяющуюся цифру в числе»
textual
Листинг программы
input "vvedite chislo ",n& m&=n& dim a(10) do k=m& mod 10 a(k)=a(k)+1 m&=m&\10 loop until m&=0 max=0 for i=0 to 9 if a(i)>max then max=a(i):c=i next print" iskomaya cifra=";c print"pozicii:" do k=n& mod 10 t=t+1 if k=c then print t; n&=n&\10 loop until n&=0
Объяснение кода листинга программы
В этом коде задача заключается в поиске цифры, которая чаще всего встречается в числе, которое вводит пользователь. Вот список шагов, описывающих работу программы:
- Пользователю предлагается ввести число.
- Число сохраняется в переменной
n
. - Десятичная система числа сохраняется в переменной
m
. - Создается массив
a
размером 10 для подсчета количества повторений каждой цифры. - Запускается цикл, который выполняется до тех пор, пока
m
не станет равным нулю. В каждой итерации циклаk
устанавливается в остаток от деленияm
на 10, а затем увеличивается счетчик в массивеa
дляk
-й цифры. - После окончания цикла, ищется максимальное значение в массиве
a
и сохраняется в переменнойmax
. Также находится индекс этого значения в массивеa
и сохраняется в переменнойc
. - Выводится сообщение, указывающее наиболее частую цифру.
- Запускается цикл, который выводит позиции всех цифр в числе, которые совпадают с
c
. Следует отметить, что в этом коде есть некоторые недочеты, такие как отсутствие проверки на ввод пользователя и обработка ошибок.