Дана строка, состоящая из латинских слов, разделенных пробелами. Определить длину самого короткого слова — Pascal(Паскаль)

uses crt;
const lb=['A'..'Z','a'..'z'];
var s:string;
    i,j,mn:byte;
begin
clrscr;
repeat
j:=0;
writeln('Введите строку из латинских слов, разделенных пробелами:');
readln(s);
for i:=1 to length(s) do
if not(s[i] in lb)and(s[i]<>' ') then j:=1;
if(j=1)or(s='') then writeln('Строка введена не верно, повторите ввод.');
until(j=0)and(s<>'');
mn:=255;
i:=1;
while i<=length(s) do
if(s[i] in lb)and((i=1)or(s[i-1]=' ')) then
 begin
  j:=0;
  while (i<=length(s))and(s[i] in lb) do
   begin
    i:=i+1;
    j:=j+1;
   end;
  if j<mn then mn:=j;
 end
else i:=i+1;
write('Длина самого короткого слова=',mn);
readln
end.

Leave a Comment

53 − = 50