Найти максимальное число в строке- Pascal(Паскаль)

если ввести 33dadawd23 9 , то программа должна выдавать 33
uses crt;
const cf=['0'..'9'];
var s,s1:string;
    i,j,k:byte;
    max,t:longint;
    x:integer;
    c:char;
begin
clrscr;
writeln('Введите строку, содержащую числа:');
readln(s);
writeln('Числа в строке:');
i:=1;max:=0;k:=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:='';
  while (s[k] in cf)and(k<=length(s))do {пока цифры и не конец строки}
   begin
    s1:=s1+s[k];
    k:=k+1;{идем вперед}
   end;
  write(s1,' ');
  val(s1,t,x);
  if t>max then max:=t;{максимальное число}
  i:=i+length(s1);{перепрыгиваем}
 end
else i:=i+1;{иначе идем вперед}
writeln;
if k=0 then write('В строке нет чисел')
else write('Максимальное число=',max);
readln
end.

Leave a Comment

27 − = 17