помогите, как преобразовать данный алгоритм с помощью рекурсии ( в pascal abc)
Слова в тексте разделены пробелами. Какие символы есть в каждом слове?
Решение:
function simbols(st:string):set of char;
var
s:string;
n:integer;
mc:set of char;
begin
mc:=[];
n:=pos(' ',st);
if n>0 then
begin
s:=copy(st,1,n-1);
Delete(st,1,n);
result:=simbols(st);
end
else s:=st;
foreach var c:char in s do mc:=mc+[c];
if result=[] then result:=mc else if mc<>[] then result:=result*mc;
end;
var
s:string;
begin
readln(s);
writeln(simbols(s));
end.
Answers & Comments
var s:string;
n,i:integer;
nc:set of char;
begin
nc:=[];
n:=pos(' ',st);
if n>0 then
begin
s:=copy(st,1,n-1);
Delete(st,1,n);
end
else
begin
s:=st;
st:='';
end;
for i:=1 to length(s) do nc:=nc+[s[i]];
if length(st)>0 then
result:=nc*simbols(st)
else result:=nc;
end;
s:string;
begin
readln(s);
writeln(simbols(s));
end.