var i:integer;
st:string; {строка}
s:char; {приставка}
begin
writeln('Введите строку слов:');
readln(st);
write('Введите бприставку: ');
readln(s);
st:=' '+st; {добавляем пробел в начале строки}
repeat
i:=pos(' '+s,st); {ищем слово на букву s}
inc(i); {пробел не считаем}
if i<>1 then {если слово нашли то}
repeat
write(st[i]); {напечатать букву найденного слова}
delete(st,i,1); {удалить эту букву}
until (st[i]=' ')or(i=length(st)); {если слово кончилось то конец цикла}
writeln;
until i=1; {если больше нет найденных слов то КОНЕЦ ЦИКЛА}
writeln('st=',st);
end.
Вариант 2
uses
crt;
const
dividers = [' ',',','.',';',':','-','=','+'];{äîïèñàòü íóæíûå}
var
s,pri,temp:string;
i:integer;
begin
ClrScr;
ReadLn(s,pri);
temp:='';
for i:=1 to Length(s) do
begin
if not (s[i] in dividers) then
temp:=temp+s[i];
if ((s[i] in dividers) or (i=Length(s))) and (temp<>'') then
begin
if Pos(pri,temp)=1 then
Write(temp,' ');
temp:='';
end
end
end.