Написать функцию, которая «переворачивает» число, то есть возвращает число, в котором цифры стоят в обратном порядке - PascalABC.NET

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

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

Здравствуйте. Накопились некоторые долги, которые откладывал из-за того, что что-то не получалось с решением. Прошу помощи.

Напишите функцию, которая «переворачивает» число, то есть возвращает число, в котором цифры стоят в обратном порядке. Пример: Введите натуральное число: 1234 После переворота: 4321.

Написал через строку, но сказали, что нужно и с типом Integer. Сделал, но что-то не так с условием: добавляет ноль к перевернутому числу. Точнее, что с условием не так я знаю (лишний раз проходит цикл из-за того, что число не стало меньше нуля), но исправить не получается. Вот код:
Заранее благодарю за помощь.

Решение задачи: «Написать функцию, которая «переворачивает» число, то есть возвращает число, в котором цифры стоят в обратном порядке»

textual
Листинг программы
function NAOBOROT(a: integer): integer;
var c: integer;
begin
c:=0;
while a > 0 do
 begin
  c:=10*c+a mod 10;
  a := a div 10;
end;
NAOBOROT := c;
end;
 
var a, b: integer;
begin
Readln(a);
Writeln(NAOBOROT(a));
end.

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

  1. Задана функция NAOBOROT, которая принимает целочисленный аргумент a и возвращает перевернутое число.
  2. Внутри функции объявлена переменная c, которая будет использоваться для хранения перевернутого числа. Изначально ей присваивается значение 0.
  3. Далее, в цикле while, происходит перебор всех цифр исходного числа a.
  4. В каждой итерации цикла к переменной c добавляется последняя цифра числа a (a mod 10), умноженная на 10 в степени количества итераций, и делается div на 10 для получения следующего разряда числа a.
  5. После окончания цикла, в переменной c содержится перевернутое число, которое возвращается из функции.
  6. В основной части программы запрашивается число a с помощью функции Readln и выводится результат вызова функции NAOBOROT с аргументом a с помощью функции Writeln.

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

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