написать программу на языке паскаль,которая считывает с клавиатуры строку S, состоящую из цифр. В заданном строкой S натуральном N-разрядном числе упорядочить цифры так, чтобы получить наибольшее число, записанное теми же цифрами. Строка S не пустая и содержит не более 200 символов. Строка S состоит только из цифр.

1

Ответы и объяснения

  • Участник Знаний
2014-04-07T00:09:23+00:00
S, a, d:string;
i,  n, j, b:integer;
c:array[1..200] of integer;
begin
readln(s);
readln(n);
a:=copy(s, 1, n);
for i:=1 to n do
val(a[i], c[i]);
for i:=1 to n do
for j:=1 to n do
if c[i]<c[j] then begin
b:=c[i]; c[i]:=c[j]; c[j]:=b; end;
for i:=1 to n do
str(c[i], d[i]);
s:=d;
writeln(s);
readln;
end.
что за процедура val ?
val переводит строку в число str число в строку
пишет процедура Val с параметрами указанных типов не найдена
должен работать. некоторые версии pascal не выполняют этой функции с массивами. причины я не знаю. можно попробовать ту же сортировку с c[i]:=ord('s[i]');
думаю не заморачиваться, а рассмотреть вот это решение