Странноватая задача, конечно. Естественно, что в множестве нет порядка элементов, использование процедур (функций) здесь совершенно ни к чему. Если учитывать все требования, то получится весьма корявая программа. Примерно вот такая: var s,s1:string; i:integer; mn:set of 'a'..'z'; function f(c:char;m:set of 'a'..'z'):boolean; begin f:=(not (c in m))and(c in ['a'..'z']) end; begin writeln('Введите строку:');readln(s); mn:=[];s1:=''; for i:=1 to length(s) do if f(s[i],mn) then begin mn:=mn+[s[i]]; s1:=s1+s[i]; end; writeln(s1); end.
Пример работы: Введите строку: this is an example text. thisanexmpl
var s,s1:string; i:integer;
mn:set of 'a'..'z';
function f(c:char;m:set of 'a'..'z'):boolean;
begin
f:=(not (c in m))and(c in ['a'..'z'])
end;
begin
writeln('Введите строку:');readln(s);
mn:=[];s1:='';
for i:=1 to length(s) do
if f(s[i],mn) then
begin
mn:=mn+[s[i]]; s1:=s1+s[i];
end;
writeln(s1);
end.
Пример работы:
Введите строку:
this is an example text.
thisanexmpl