Вопрос по информатике:
Помогите, как преобразовать данный алгоритм с помощью рекурсии ( в 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.
- 09.09.2018 12:51
- Информатика
- remove_red_eye 9012
- thumb_up 31
Ответы и объяснения 1
Function simbols(st:string):set of char;
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;
- 01.01.1970 00:00
- thumb_up 15
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.