Напечатать в возрастающем порядке трехзначные числа - Pascal
Формулировка задачи:
Напечатать в возрастающем порядке трехзначные числа, в десятичной записи которых нет
одинаковых цифр (операции деления (/, div и mod) не использовать).
Помогите пожалуйста! Очень надо сегодня. И если возможно объясните немного решение
Решение задачи: «Напечатать в возрастающем порядке трехзначные числа»
textual
Листинг программы
var a,b,c,x:string; z:integer; begin for z:=100 to 999 do begin str(z,x); a:=copy(x,1,1); b:=copy(x,2,1); c:=copy(x,3,1); if (a<>b) and (b<>c) and (c<>a) then write(z,' '); end; end.
Объяснение кода листинга программы
- В начале объявляются переменные
a
,b
,c
иx
типаstring
иz
типаinteger
. - Затем идет цикл
for
, который проходит от 100 до 999 (не включая эти значения). - Внутри цикла вызывается функция
str()
, которая преобразует числоz
в строку и сохраняет результат в переменнойx
. - Далее вызываются функции
copy()
, которые копируют первые три символа строкиx
и сохраняют результаты в переменныхa
,b
иc
. - Затем сравниваются значения переменных
a
,b
иc
. Если они не равны друг другу, то числоz
выводится на экран с пробелом. - После завершения внутреннего цикла
for
программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д