uses crt;
{
Ввести строку символов ( предусмотреть ввод пустой строки или строки из одних пробелов).
Разделителями слов в строке могут быть «_»,«:»,«;»,«,», «( )»(предусмотреть использование множества для разделителей).
Определить слово максимальной длины, в котором все символы различны.
Компилятор: Pascal ABC
}
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.