Ребят, помогите решить!
5-9 класс
|
Дано два натуральных числа N и M.
Написать программу для определения наименьшего из чисел, составленных из цифр данных чисел. Незначащих нулей в найденном числе быть не должно.
Формат входных данных:
Входной файл INPUT.TXT содержит два натуральных числа N (10<=N<=10^100) и M (10<=M<=10^100), разделенных одним пробелом.
Формат выходных данных:
Выходной файл OUTPUT.TXT должен содержать найденной наименьшее число.
Пример
INPUT.txt. OUTPUT.txt
423 42 22344
procedure ShellStr(var s: string);
{ сортирует символы строки методом Шелла }
var
i, j, n, step: integer;
c: char;
begin
s := Trim(s);
n := Length(s);
step := n div 2;
while step > 0 do
begin
for j := n - step downto 1 do
begin
i := j;
while i <= n - step do
begin
if s[i] > s[i + step] then
begin
c := s[i];
s[i] := s[i + 1];
s[i + 1] := c
end;
i := i + step
end
end;
step := step div 2
end
end;
procedure TrimNullsLeft(var s: string);
{ Усекает левые (незначащие нули) в строке s }
var
i, n: integer;
begin
i := 1; n := Length(s);
while (s[i] = '0') do i := i + 1;
s := Copy(s, i, n - i + 1)
end;
var
p: integer;
s, M, N: string;
f: text;
begin
Assign(f, 'input.txt');
Reset(f);
Readln(f, s);
Close(f);
Assign(f, 'output.txt');
Rewrite(f);
s := Trim(s);
p := Pos(' ', s);
M := Copy(s, 1, p - 1);
N := Copy(s, p + 1, Length(s) - p);
s := M + N;
ShellStr(s);
TrimNullsLeft(s);
Writeln(f, s);
Close(f);
Writeln('Программа завершила работу')
end.
Комментарий удален
ЛОГИКА В ТОМ ЧТО НУЖНО ДУМАТЬ, КАК С ПОМОЩЬЮ ПРОГРАММЫ ЭТО СДЕЛАТЬ, В ЖИЗНИ ТАКОЕ ВРЯДЛИ ПРИГОДИТСЯ
задание нормальное, всё чётко, а раз ты такой умный то напиши программу
Комментарий удален
Другие вопросы из категории
распредилить, какие числа меньше нуля, но как вычислить среднее арифметическое, не зная точное кол-во отрицательных элементов? Желательно написать полной программой. Заранее спасибо с:
Читайте также
клетку - есть метка, нет метки, есть, нет и т.д.), заканчивающиеся двумя подряд идущими метками. Каретка находится под крайней левой меткой. Требуется заполнить в этом массиве все пустоты метками.
мышки для сбора урожая ИСХОДНЫЕ ДАННЫЕ ______________________ 2)Малыш и карлосон решили по-братски разделить два сладких орешка-болльшой и маленький . Как это сделать ? Помогите плиз , заранее спасибо :) надеюсь на вас ! Просто я непоняла что с исходными данными делать .
что угодно, помогу)Вот задача - Под конец учебного года ученики 11 класса решали понять у кого же из них будет самый высокий средний балл ? Известно , что - в классе учится 14 учеников, - Сумма всех средних баллов аттестата = 100.Известно также , что первый ученик имел средний балл, который составляет 1/ 12 суммы всех средних баллов. Второй ученик - на 0,15 % больше, чем первый ученик , но на 1,75 % меньше , чем третий ученик . Средние баллы аттестатов двух сестер были равными среднему арефметичному оценок вышеупомянутых учеников , разделенном на 1.5 . Четвертый ученика на конец года имел такой же балл , как и первый ученик , но на 5% меньше , а остальные ученики - имели равные баллы .Какой средний балл на конец года получил каждЫй?
Массив содержит 20 случайных чисел из промежутка [1..37] Выводит на экран эдементы больше 11, но меньше 22 ПОжалуйста помогите)
Маша набирает текст со скоростью 40 символов в минуту,а Катя- 20 символов в минуту.Через какое время девочки введут одинаковое количество символов,если Катя начала набирать текст на 5 минут раньше?
Нужно решить без x! Спасибо