Помогите, пожалуйста! Мне надобно подробное решение.На вход программе

Помогите, пожалуйста! Мне надо доскональное решение.
На вход программе подается
последовательность знаков, кончающаяся точкой. Нужно написать
программу, которая определяет, есть ли в этой последовательности десятичные
числа, и выводит наибольшее число, которое можно составить из этих цифр.
Водящих нулей в числе быть не обязано (за исключением числа 0, запись которого
содержит ровно одну цифру). Если цифр нет, программка обязана вывести на экран
слово Нет, а если есть слово Да и в последующей строке разыскиваемое число.
К примеру, если исходная последовательность была такая:

Day 10, mice 8: "Year" 7 is a mistake 91.

то итог обязан быть
последующий:

Да

987110



Задать свой вопрос
1 ответ
var
  str, num: string;

begin
  readln(str); //str := 'Day 10, mice 8: "Year" 7 is a mistake 91.';
  foreach c: char in str do
    if (Char.IsDigit(c)) then
      num += c;
  for j: byte := 1 to length(num) - 2 do
    for i: byte := 1 to length(num) - 1 do
      if (num[i] lt; num[i + 1]) then
      begin
        str[1] := num[i];
        num[i] := num[i + 1];
        num[i + 1] := str[1];
      end;
  if (Integer.Parse(num) gt; 0) then
  begin
    while (num[num.Length - 1] = '0') do
      num.Remove(num.Length - 1);
    writeln('Да' + 13 + num);
  end
  else
    writeln('Нет');
end.
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт