Вспомним игру: "придумай слово", в которой из букв слова-донора составляют другие слова. например, из слова монитор можно получить мотор, рот, тир и др. вхождение каждой буквы в новое слово допускается не более того числа раз, с каким она входит в слово-донор. пусть дана последовательность слов, разделенных пробелами в виде строки символов. известно, что первое слово в этой строке является донором. выбрать из оставшихся слов последовательности те, которые можно получить из заданного слова-донора.

Аня8785 Аня8785    2   27.05.2019 01:40    9

Ответы
lili2005ok lili2005ok  23.06.2020 18:20
Prime := { Получаем первое слово из последовательности }; 
while { не конец последовательности (не известно от куда аффтар получает слова ) } do 
  begin 
    Slovo := { Получаем очередное слово последовательности }; 
    if Length(Slovo) <= Length(Prime) then 
      begin 
        CopyPrime := Prime; 
        N := 1; 
        while (N <= Length(Slovo)) and (Pos(Slovo[N], CopyPrime) > 0 do 
          begin 
            Delete(CopyPrime, Pos(Slovo[N], CopyPrime), 1); 
            Inc(N); 
          end; 
        if N > Length(Slovo) then 
          { Slovo можно получить из первого слова } 
        else 
          { нельзя получить Slovo из первого слова } 
      end; 
  end; 
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика