Ввести строку символов предусмотреть ввод пустой строки ил строки из одних пробелов). Разделителями слов в строке могут быть «_», «;», «:», «,», » » (предусмотреть использование множества разделителей). Надо определить слово максимальной длины в котором все символы различны и вывести его на экран.
Program lab4;
uses crt;
const
mn:set of char= ['_', ',', ':', ';', ' '];
var
a,s:string;
f:boolean;
c:string;
i,j,k,d:integer;
posm,pos,max:integer;
begin
clrscr;
writeln ('Введите строку');
readln(s);
i:=1;
max:=0;
while i<length(s) do begin
if s[i] in mn then inc(i)
else begin
pos:=i;
d:=0;
while (i<=length(s)) and not ((s[i] in mn)) do begin
inc(d);
inc(i);
end;
a:=copy(s,pos,d);
j:=1;
f:=true;
while j<=length(a) do begin
c:=a[j];
for k:=j+1 to length(a) do begin
if a[k]=c then f:=false;
end;
inc(j);
end;
if (f=true) and (max<length(a)) then begin
max:=length(a);
posm:=i-length(a);
end;
a:='';
end;
end;
if max=0 then writeln ('Таких слов нет')
else writeln('Это слово: ',copy(s,posm,max));
readkey;
end.