Вот решение для чисел до 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.
Другие языки программирования и технологии
Не могу найти, где ошибка в проге и нужна помощь в составлении блоксхемы. Program zadacha1; uses crt; var i,t, j: b
Похожие вопросы
- Нужна помощь в составлении программы
- по делфи прога нахождение квадратного корня( ошибка в проге) помогите найти и исправить
- Срочно нужна помощь. помогите пожалуйста найти ошибку
- X+i*a+j и X[i][j]. В чем разница как использовать первый вариант записи.
- нужна помощь с прогой на паскале. сортировка матрицы. в данной проге необходимо в начале вывести исходную матрицу в "кра
- Помогите!!! В чём ошибка!? Условие: использовать нужно только for var i:= Что не понятно, спрашивайте.
- Нужна помощь с 1 прогой в Pascal. с использованием файлов???
- Владеющие паскалем! SOS! Найдите пожалуйста ошибку!((( думаю уже долго, ошибку найти не могу(((Помогите пожалуйста!!!
- Не могу найти ошибку в коде с++
- Срочно нужна помощь WEB-программиста, который мог бы состряпать сайт