Задача 5 Урок 16

Задача 5 Урок 16:

Пользователь вводит строку символов, в которой есть два числа, разделенные другими символами, т.е. строка имеет вид:

какиетосимволыЧИСЛО1какиетосимволыЧИСЛО2какиетосимволы

необходимо считать данные числа в две строковые переменные s1 и s2.

например:

  1. для:
    1
    wsefg34teth567gfd

    получим s1='34' и s2='567'

  2. для:
    1
    wsefg22teth88

    получим s1='22' и s2='88'

  3. для:
    1
    15teth47

    получим s1='15' и s2='47'

Примечание: если никак не получается решить самостоятельно, посмотрите этот разбор решения(link is external).

var  n1, n2, s: string;
  i: integer;
  z: boolean;
begin
    write('Введите произвольную строку: ');
    readln(s);
    z := true;
    for i := 1 to length(s) do
     if z then
      begin
       if (s[i] >= '0') and (s[i] <= '9') then n1 += s[i];
       if not ((s[i + 1] >= '0') and (s[i + 1] <= '9')) then z := false;
      end
     else
      begin
       if (s[i] >= '0') and (s[i] <= '9') then n2 += s[i];
       if not ((s[i + 1] >= '0') and (s[i + 1] <= '9')) and (n2 <> '') then break;
      end;
    writeln('Первое число: ', n1, '  ', 'Второе число: ', n2);
    readln();
end.