Задача 6 урок 16

Задача 6 урок 16

Пользователь вводит строку произвольных символов, выделите из неё массив первых 8 строковых литералов, которые являются числами. И выведите эти числа на экран.
Например, из строки:

rew2@#$$#435tr353453t4er4

должны быть выделены подстроки:

2
435
353453
4
4
var s, S1: string;
i, n: Integer;
a: array[1..8] of string;
flag, f: boolean;
begin
 S1:=' ';
 n:=1; // адрес массива
 writeln('Vvedite stroku');
 readln(s);
   for i:=1 to Length(s) do
     begin
     if (s[i]>='0')and(s[i]<='9') then
       flag:=true  // flag-состояние число/не число
     else
       flag:=false;

     if flag then
       S1:=S1+s[i];
     if f AND Not flag then
       begin
         a[n]:=S1;
         inc(n);
         S1:=' ';
       end;

     f:=flag;  //f-состояние предыдущего флага
     end;

 for i:= low(a) to high(a)do
   writeln(a[i]); // выводим строковые перемен.
 readln();
end.
vedro-compota's picture

решение засчитано

_____________
матфак вгу и остальная классика =)