написать программу ** языке паскаль,которая считывает с клавиатуры строку S, состоящую из...

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

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


Информатика (306 баллов) | 50 просмотров
Дан 1 ответ
0 голосов

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]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.

0

что за процедура val ?

0

val переводит строку в число str число в строку

0

пишет процедура Val с параметрами указанных типов не найдена

0

должен работать. некоторые версии pascal не выполняют этой функции с массивами. причины я не знаю. можно попробовать ту же сортировку с c[i]:=ord('s[i]');

0

думаю не заморачиваться, а рассмотреть вот это решение