uses crt;
const cf=['0'..'9'];
max=10;
var s,s1,s2:string;
a:array[1..max] of string;
n,i,j,k:byte;
begin
clrscr;
writeln('Введите текст, содержащий до 10 чисел:');
readln(s);
i:=1;n:=0;
while i<=length(s) do
if (s[i] in cf)and (not(s[i-1]in cf)or(i=1)) then{если цифра, а перед ней не цифра, или она первая}
begin
k:=i;s1:='';
n:=n+1;
while (s[k] in cf)and(k<=length(s))do {пока цифры и не конец строки}
begin
s1:=s1+s[k];
k:=k+1;{идем вперед}
end;
a[n]:=s1; {пишем в новую строку}
i:=i+length(s1);{перепрыгиваем}
end
else i:=i+1;{иначе идем вперед}
writeln('Массив цифр:');
for i:=1 to n do
write(a[i],' ');
write(s2);
readln
end.
Следующий вариант
uses crt;
const cf=['0'..'9'];
max=10;
var s,s1,s2:string;
a:array[1..max] of integer;
t,c:integer;
n,i,j,k:byte;
begin
clrscr;
writeln('Введите текст, содержащий до 10 чисел:');
readln(s);
i:=1;n:=0;
while i<=length(s) do
if (s[i] in cf)and (not(s[i-1]in cf)or(i=1)) then{если цифра, а перед ней не цифра, или она первая}
begin
k:=i;s1:='';
n:=n+1;
while (s[k] in cf)and(k<=length(s))do {пока цифры и не конец строки}
begin
s1:=s1+s[k];
k:=k+1;{идем вперед}
end;
val(s1,t,c);
a[n]:=t; {пишем в новую строку}
i:=i+length(s1);{перепрыгиваем}
end
else i:=i+1;{иначе идем вперед}
writeln('Массив цифр:');
for i:=1 to n do
write(a[i],' ');
write(s2);
readln
end.