Задача 6 Урок 17

Задача 6 Урок 17

Пользователь вводит строку произвольных символов, выделите из неё массив первых 8 строковых литералов, которые являются числами. И выведите эти числа на экран.
Например, из строки:
var n, s: string;
    i, j: integer;
    a: array [1..8] of string;
begin
    write('enter an arbitrary string ');
    //readln(s);
    s:='rew2@$$$$435sdf3543r4er4df4d';
    for i := 1 to length(s) do
     if (s[i] >= '0') and (s[i] <= '9') then
      begin
       n:= n+s[i];
       if not ((s[i + 1] >= '0') and (s[i + 1] <= '9')) and (n <> '') then
        begin
         j += 1;
         a[j] := n;
         n := '';
         if j = 8 then break;
        end;
      end;
    writeln();
    for i := 1 to j do
     writeln(a[i]);
    readln();
end.

Вывод консоли:

enter an arbitrary string
2
435
3543
4
4
4