Дано число n. Разбить на цифры в массив - Pascal

Узнай цену своей работы

Формулировка задачи:

Дано число n. Разбить на цифры в массив . (Желательно без goto) У нас есть число n(например, 525, точное количество цифр не дано); В массив a (integer) a[1]:=5 a[2]:=2 a[3]:=5

Решение задачи: «Дано число n. Разбить на цифры в массив»

textual
Листинг программы
var
  n, t: Longint;
  a: array [1..10] of Integer;
  m, i: Integer;
begin
  Read(n); n:=Abs(n); t:=n; {m:=0;}
  repeat Inc(m); t:=t div 10; until t=0;
  t:=n; i:=m;
  repeat a[i]:=t mod 10; t:=t div 10; Dec(i); until t=0;
  for i:=1 to m do WriteLn(a[i]);
end.

Объяснение кода листинга программы

  1. Входное значение числа n считывается с помощью функции Read() и приводится к абсолютному значению с помощью функции Abs(). Значение n сохраняется в переменной t.
  2. Запускается цикл repeat-until, который выполняется до тех пор, пока t не станет равным 0. В каждой итерации цикла значение m увеличивается на 1, а t делится на 10. Это приводит к тому, что в переменной m сохраняется количество цифр в числе n, а в переменной t остаются только десятки.
  3. После завершения цикла repeat-until, значение t восстанавливается в переменной t, а значение i устанавливается равным m.
  4. Запускается цикл repeat-until, который выполняется до тех пор, пока t не станет равным 0. В каждой итерации цикла значение a[i] присваивается остаток от деления t на 10, а t делится на 10. Значение i уменьшается на 1. Это приводит к тому, что в массиве a сохраняются цифры числа n в обратном порядке.
  5. С помощью цикла for i:=1 to m выполняется вывод на экран значений массива a с помощью функции WriteLn().

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.933 из 5
Похожие ответы