• Дано два натуральных числа N и M.
    Написать программу для определения наименьшего из чисел, составленных из цифр данных чисел. Незначащих нулей в найденном числе быть не должно.
    Формат входных данных:
    Входной файл INPUT.TXT содержит два натуральных числа N (10N10100) и M (10M10100), разделенных одним пробелом.
    Формат выходных данных:
    Выходной файл OUTPUT.TXT должен содержать найденное наименьшее число.

Ответы 1

  • 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  endend;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.
    • Автор:

      eddiec4yo
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years