В натуральном числе n поменять местами порядок цифр для получения наибольшего числа - Turbo Pascal

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

Вводится какое-то число n, к примеру, 2473, а программа должна поменять порядок следования цифр таким образом, чтобы получилось максимальное возможное из этих цифр число(в данном случае - 7432). Количество цифр в числе n должно находится автоматически или вводится с клавиатуры.

Код к задаче: «В натуральном числе n поменять местами порядок цифр для получения наибольшего числа - Turbo Pascal»

textual
var digits: array[0..9] of byte;
    i, j: byte;
    x: longint;
begin
  {for i := 0 to 9 do digits[i] := 0;}
  repeat
    write('0 < x < 1000000000;  x = ');
    readln(x)
  until (x > 0) and (x < 1000000000);
  repeat
    inc(digits[x mod 10]);
    x := x div 10
  until x = 0;
  for i := 9 downto 0 do
    for j := 1 to digits[i] do
      x := x * 10 + i;
  write('"Maximized" x = ', x);
  readln
end.
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

13   голосов, оценка 4.077 из 5


СДЕЛАЙТЕ РЕПОСТ