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

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

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

Например, из строки:

rew2@#$$#435tr353453t4er4

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

2
435
353453
4
4

Подсказка: массив должен быть "of string".

Решение:

program u17z06;
var s,s0:string;
  i,j:integer;
  c: array [1..8] of string;
begin
  writeln('vvedite stroku:');
  readln(s);
  j:=1;
  for i:=1 to length(s) do
  begin
    if (s[i]>='0')and(s[i]<='9') then
      s0:=s0 + s[i]
    else
      if (s0 <> '') then
      begin
        c[j]:=s0;
        s0:='';
        j:=j+1;
      end;
  end;
  c[j]:=s0;
  for i:=1 to 8 do
    writeln('c[',i,']: ',c[i]);
  readln();
end. 

Консоль:

lkj1kl2lkj235lkj1klj3klj7lkj43klj65lkj34lkj12
c[1]: 1
c[2]: 2
c[3]: 235
c[4]: 1
c[5]: 3
c[6]: 7
c[7]: 43
c[8]: 65