Задать вопрос
20 марта, 19:32

Помогите, как преобразовать данный алгоритм с помощью рекурсии (в 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.

+4
Ответы (1)
  1. 20 марта, 21:29
    0
    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;
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Помогите, как преобразовать данный алгоритм с помощью рекурсии (в pascal abc) Слова в тексте разделены пробелами. Какие символы есть в ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы