Для заданного натурального числа определить, сколько раз в его записи встречается каждая из цифр - Pascal ABC
Формулировка задачи:
Для заданного натурального числа определить, сколько раз в его записи встречается каждая из цифр. (Паскаль и Бейсик)
Помогите :С
Решение задачи: «Для заданного натурального числа определить, сколько раз в его записи встречается каждая из цифр»
textual
Листинг программы
var
a:array[0..9] of integer;
b, i, c:integer;
begin
writeln('Введите натуральное число');
readln(b);
while b > 0 do
begin
c:=b mod 10;
b:=b div 10;
inc(a[c]);
end;
for i:=0 to 9 do
writeln('Цифра ',i,' встречается ',a[i],' раз');
end.
Объяснение кода листинга программы
В данном коде на языке Pascal ABC происходит следующее:
- Создается переменная
a, которая представляет собой массив целых чисел размером от 0 до 9. - Выводится сообщение «Введите натуральное число», после чего считывается значение переменной
bс помощью функцииreadln(). - Запускается цикл
while, который выполняется до тех пор, пока значение переменнойbбольше нуля. - Внутри цикла происходит следующее:
- Переменная
cинициализируется значением остатка от деленияbна 10 с помощью оператора%. - Переменная
bделитcя на 10 с помощью оператораdiv. - Переменная
a[c]увеличивается на единицу с помощью функцииinc().
- Переменная
- После выхода из цикла
whileвыводится сообщение «Цифра 0 встречается 0 раз», «Цифра 1 встречается 1 раз», и так далее, для каждого элемента массиваa. Таким образом, данный код позволяет определить, сколько раз в записи заданного натурального числа встречаются каждая из цифр от 0 до 9.