Другие языки программирования и технологии

Не могу найти, где ошибка в проге и нужна помощь в составлении блоксхемы. Program zadacha1; uses crt; var i,t, j: b

Вот решение для чисел до 255 цифр:
С проверкой на наличие посторонних символов, не относящихся к цифрам.
var
N : String;
A : array [1..255] of Char;
tmp : Char;
K, M : Byte;
Error, Sorted : Boolean;
begin
Write('Введите натуральное число : '); ReadLn(N);
K := Length(N);

{ разбор логичности ввода числа }
Error := False;
for M := 1 to K do if N[M] in ['0'..'9'] then A[M] := N[M] else Error := True;
if Error then begin WriteLn('Это не натуральное число! '); Halt; end;

{ сортировка массива }
repeat
Sorted := False;
for M := 1 to K - 1 do if A[M] < A[M + 1] then
begin tmp := A[M]; A[M] := A[M + 1]; A[M + 1] := tmp; Sorted := True; end;
until Not Sorted;

{ если число не может начинаться с ноля, то нужно вперёд поставить первую цифру > 0 }
M := K;
repeat
if A[M] > '0' then begin tmp := A[M]; A[M] := A[K]; A[K] := tmp; Sorted := True; end;
Dec(M); if M = 0 then Sorted := True;
until Sorted;

WriteLn('Наименьшее число, составленное из цифр введённого числа : ');
for M := K downto 1 do Write(A[M]); WriteLn;
end.
СК
Славик Козлов
80 688
Лучший ответ