Как перевернуть число в паскале
Перейти к содержимому

Как перевернуть число в паскале

  • автор:

Как перевернуть число в паскале

program num_revert;
Var Number, i, j, k: integer;
Label 1;
begin
Write( ‘Введите 3-х значное число : ‘ );
1:ReadLn(Number);

if (Number < 100) OR (Number >999) then
begin
writeln(‘Неверное число, попробуйте снова’);
GoTo 1
end;

Write( ‘Цифры числа ‘ , Number , ‘ : ‘ );
i := Number div 100;
j := Number div 10 mod 10;
k := Number div 1 mod 10;

Прикрепления: 8683645.png (1.6 Kb)
Группа: Удаленные
for i:=length(Number) downto 1 do write(Number[i]);[/i]

Это просто вывод строки с конца в начало.

Добавлено (03.06.2013, 04:37)
———————————————
на в конце кода не обращайте внимания, не знаю, как его убрать

Сообщение отредактировал DarthVader — Понедельник, 03.06.2013, 04:36
Добрый админ

Сообщений: 2339
Цитата ( DarthVader )

Хм. А если Number сделать строкой, а не числом, то всю программу можно записать так:

Переворот числа

Author24 — интернет-сервис помощи студентам

«Переворот» числа
6. «Переворот» числа. Преобразовать введенное число в другое число, цифры которого будут следовать.

Переворот и падение дудла
Добрый день. После того, как дудл упёрся верхней частью головы о нижнюю часть платформы, его.

Переворот подмассива 2 раза
Задан массив из n чисел (a1, a2. an). На нем два раза осуществляют операцию переворота.

Байер и переворот строки
Вам дано N строк. Необходимо для каждой из них получить строку с обратным порядком символов, а все.

Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181

Лучший ответ

Сообщение было отмечено MopDa как решение

Решение

1 2 3 4 5 6 7 8 9 10 11 12
var n,p:integer; begin write('n='); readln(n); p:=0; while n>0 do begin p:=p*10+n mod 10; n:=n div 10; end; write(p) end.

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

«Переворот» слова
Преобразовать введенное слово в другое слово, буквы которого будут следовать в обратном порядке по.

Переворот числа
Приветствую. Собственно написать через строку или арифметический тип сложности не представляет.

Переворот числа
Вводится число и его нужно перевернуть Типо вводится 12345 нужно вывести 54321 Но у меня проблема.

Переворот числа.
Доброго времени суток. Возник вопрос. Задача программы в том чтобы перевернуть введённое число.

Или воспользуйтесь поиском по форуму:

Переворот строки

Перевернуть строку, то есть последние символы должны стать первыми, а первые последними.

Перебрать символы строки от начала до ее середины:

  1. очередной символ сохранить в переменной c ;
  2. на его место записать противоположный с конца;
  3. на место противоположного записать сохраненный в c .
var s: string; // строка len: byte; // длина строки c: char; // для временного хранения символа i: byte; begin write('Введите строку: '); readln(s); len := length(s); for i := 1 to len div 2 do begin c := s[i]; s[i] := s[len-i+1]; s[len-i+1] := c; end; writeln(s); end.

Другой способ решения — это не менять исходную строку, а создать новую с обратным порядком символов. При этом исходная строка перебирается с конца.

var a, b: string; i: integer; begin readln(a); b := ''; for i := length(a) downto 1 do b := b + a[i]; writeln(b); end.

«Переворот» числа

Вводится число. Преобразовать его в другое число, цифры которого будут следовать в обратном порядке по сравнению с введенным числом.

  • n , m — исходное число и «перевернутое»;
  • a — временное хранение очередной цифры, которая «переносится» из одного числа в другое.

Алгоритм решения задачи сводится к следующему циклу: 1) взять последнюю цифру в первом числе; 2) записать ее в конец второго; 3) убрать последнюю цифру из первого числа. Таким образом последняя цифра первого числа окажется первой цифрой во втором; предпоследняя цифра первого числа — второй во втором числе и так далее

  1. Находим остаток ( mod ) от деления числа n на 10. Результат сохраняем в переменной a .
  2. На каждом шаге разрядность m надо увеличивать на единицу, то есть умножать на 10. Например, если было число 56, то, умножив его на 10, получим 560. Далее следует прибавить остаток из переменной a , например, 3. В итоге получим 563. Получаем формулу: m = m * 10 + a .
  3. Делим n нацело на 10, тем самым избавляемся от младшего разряда.

Программа на языке Паскаль:

var n, m: longint; a: byte; begin readln(n); m := 0; while n > 0 do begin a := n mod 10; m := m * 10 + a; n := n div 10; end; writeln(m); end.

Пример выполнения программы:

40013 31004

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *