Pascal ABC Дана строка, состоящая из слов (разбитых пробелами) и строка символов. Необходимо выяснить, можно ли из символов строки 2 получить слова из строки 1. Если можно, то вывести эти слова, иначе вывести NO. (буквы из набора можно использовать несколько раз)
Входные данные
Строка содержащая слова через пробел и строка с набором букв
Выходные данные
Слова, которые можно получить из символов второй строки или слово NO
Для примера:
Ввод
hello i love you
ieohuyvl
Результат
hello
i
love
you
var slova, bukvy, slovo : string;
i, b, k, c, j, l, kolvo, dlina1, dlina2 : integer;
a : array[1..50] of string;
begin
Writeln('Введите слова');
Readln(slova);
Writeln('Введите буквы');
Readln(bukvy);
dlina1 := length(slova);
dlina2 := length(bukvy);
k := 1;
for i := 1 to dlina1 do
if slova[i] = ' ' then
k := k + 1;
writeln(k);
b := 1;
i := 1;
while i <= length(slova) do
begin
if (slova[i] <> ' ') and (i <> length(slova)) then
slovo := slovo + slova[i]
else
begin
a[b] := slovo;
slovo := '';
b := b + 1;
end;
i := i + 1;
end;
a[k] := a[k] + slova[length(slova)];
b := 0;
l := 0;
for i := 1 to 50 do
if a[i] <> '' then
begin
slovo := a[i];
for k := 1 to length(slovo) do
for c := 1 to length(bukvy) do
if slovo[k] = bukvy[c] then
j := j + 1;
if j = length(slovo) then
begin
writeln(slovo);
l := l + 1;
j := 0;
end;
end;
if l = 0 then
writeln('NO');
end.
Объяснение: