Дано число 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.
Объяснение кода листинга программы
- Входное значение числа n считывается с помощью функции Read() и приводится к абсолютному значению с помощью функции Abs(). Значение n сохраняется в переменной t.
- Запускается цикл repeat-until, который выполняется до тех пор, пока t не станет равным 0. В каждой итерации цикла значение m увеличивается на 1, а t делится на 10. Это приводит к тому, что в переменной m сохраняется количество цифр в числе n, а в переменной t остаются только десятки.
- После завершения цикла repeat-until, значение t восстанавливается в переменной t, а значение i устанавливается равным m.
- Запускается цикл repeat-until, который выполняется до тех пор, пока t не станет равным 0. В каждой итерации цикла значение a[i] присваивается остаток от деления t на 10, а t делится на 10. Значение i уменьшается на 1. Это приводит к тому, что в массиве a сохраняются цифры числа n в обратном порядке.
- С помощью цикла for i:=1 to m выполняется вывод на экран значений массива a с помощью функции WriteLn().
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д