Определить, какие различные цифры входят в целое число - Pascal ABC
Формулировка задачи:
Как можно написать данную программу попроще, а это эта не особо понятная?
Решение задачи: «Определить, какие различные цифры входят в целое число»
textual
Листинг программы
var n: longint; digits: array[0..9] of byte; i: byte; begin write('Input number: '); readln(n); if n < 0 then n:= abs(n); repeat inc(digits[n mod 10]); n=n div 10; until n = 0; for i:=0 to 9 do if digits[i]=1 then write(digits[i]:3); readln end.
Объяснение кода листинга программы
- В начале кода объявляются переменные: n - целое число, digits - массив байтов (цифр), i - байт.
- Выводится сообщение «Input number: », после чего считывается число n. Если оно отрицательное, то преобразуется в положительное с помощью функции abs.
- Затем начинается цикл repeat-until, в котором увеличивается значение соответствующего элемента массива digits в зависимости от остатка от деления n на 10. После этого n делится на 10 и цикл повторяется до тех пор, пока n не станет равным 0.
- В конце цикла выводится сообщение для каждой цифры из массива digits, если она равна 1.
- Конец программы.