Напишите ** языке Паскаль программу, которая для произвольного двухзначного числа...

0 голосов
68 просмотров

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


Информатика (33 баллов) | 68 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018
Внимание! Если программа не работает, обновите версию!

1. Если надо преобразовать число без знака в число

begin
  var n:=ReadInteger; // исходное число
  n:=n.ToString.Inverse.ToInteger; // полученное число
  n.Println; // вывод результата
end.

2. Если нужно только вывести результат

begin
  var n:=ReadInteger; // исходное число
  n.ToString.Inverse.ToInteger.Println
end.

3. Если надо только поменять местами символы, введенные с клавиатуры (например, два символа, изображающие число)

begin
  ReadlnString.Inverse.Println
end.

4. Если заданное число может быть отрицательным

begin
  var n:=ReadInteger; // исходное число
  var s:=Sign(n); // знак числа
  n:=Abs(n); // модуль числа
  n:=n.ToString.Inverse.ToInteger*s; // полученное число
  n.Println; // вывод результата
end.
(150k баллов)
0

Примечание: число не обязано быть именно даухзначным

0

В условии сказано: "... произвольного двухзначного числа...". Со знаком - согласна, возможно и отрицательное...

0

Если бы я критиковал Вашу программу, я бы написал комментарий под ней. А тут я лишь отметил, что предлагаемое решение шире, но и только. Двухзначные числа обрабатываются, как частный случай.

0

Не понял: Вы сейчас зачем свой код пишете под моим решением? ))))

0

Комментарий для автора задачи... Всё нормально, это всего лишь задача... Не нужно так остро реагировать...

0

Я не остро реагирую, а напоминаю Вам, что публикация в комментарии к ответу материала, не имеющего отношения к ответу, считается спамом. Вы же поясняете, как нужно подправить ВАШУ программу, чтобы она знак числа учитывала - так ее и комментируйте. Автор задачи не будет искать исправлений ВАШЕГО кода под МОИМ решением.

0

Ему, быть может, вообще эта версия Паскаля не подойдет и он читать даже не будет все это.

0 голосов
Вариант 1. Обработка числа.
program z;
var x,y:integer;
begin
readln(x);
y:=(x mod 10)*10+x div 10;
writeln(y);
end.

Вариант 2. Обработка числа как строки.
program z;
var str:string;
begin
readln(str);
writeln(str[2]+str[1]);
end.
(1.2k баллов)