Записать в новый массив все числа, являющиеся палиндромом - Turbo Pascal
Формулировка задачи:
Создать последовательность натуральных чисел, заканчивающихся нулем (т.е. размер массива заранее не известен). Записать в новый массив все числа, являющиеся полиндромом, т.е. таким, десятичная запись которого читается одинаково слева направо и справа налево.
Решение задачи: «Записать в новый массив все числа, являющиеся палиндромом»
textual
Листинг программы
program primer; const n = 50; var a, k: array[1..n] of integer; i, j, c, b: integer; r: boolean; begin randomize; for i := 1 to n do begin a[i] := random(100) + 1; writeln(a[i]); c := a[i]; b := 0; while c <> 0 do begin b := b * 10 + (c mod 10); c := c div 10; end; end; j := 0; r := False; if b = a[i] then begin Inc(j); k[j] := a[i]; end; readln; if j = 0 then Write('net palindroma') else for i := 1 to j do writeln(k[i]); end.
Объяснение кода листинга программы
В данном коде происходит следующее:
- Создается переменная
n
со значением 50. Это максимальное количество чисел, которые можно записать в массив. - Создается массив
a
типаarray[1..n] of integer
. Он будет использоваться для хранения чисел. - Создаются переменные
i
,j
,c
иb
со значениями 0, 0, 0 и 0 соответственно. Они будут использоваться для обработки чисел. - Запускается цикл
for
, который выполняется 50 раз. В каждой итерации цикла числоa[i]
записывается в переменнуюc
, а его последняя цифра записывается в переменнуюb
. - Внутри цикла проверяется, пока число
c
не станет равным нулю. Когда это происходит, переменнаяb
обновляется, чтобы содержать только последнюю цифру числаc
. - После завершения внутреннего цикла проверяется, совпадает ли число
b
с числомa[i]
. Если да, то увеличивается значение переменнойj
и числоa[i]
записывается в массивk
. - После завершения внешнего цикла выводится сообщение в зависимости от значения переменной
j
. Еслиj
равно 0, выводится сообщениенет палиндрома
. В противном случае выводится сообщениеесть палиндром
, и для каждого числаk[i]
выводится его значение.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д