(Pascal) Помогите решить пожалуйста , надо их решить с множествами 1)поиск симметричных...

0 голосов
26 просмотров

(Pascal) Помогите решить пожалуйста , надо их решить с множествами
1)поиск симметричных слов перевертышей.
2)поиск слов не имеющих повторяющихся букв.


Информатика (48 баллов) | 26 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Var 
s,s1,s2,st1,st2:string; i:integer; 
mn:set of char; b:boolean;
begin
writeln('Введите текст:');
readln(s);
s:=s+' ';
st1:=''; st2:='';
s1:=''; s2:=''; mn:=[]; b:=false;
while pos('  ',s)>0 do delete(s,pos('  ',s),1);
for i:=1 to length(s) do
 if s[i]<>' '
  then begin 
       s1:=s[i]+s1;
       s2:=s2+s[i];
       if s[i] in mn then b:=true;
       mn:=mn+[s[i]];
       end
  else begin
       if s1=s2 then st1:=st1+s1+' ';
       if not b then st2:=st2+s2+' ';
       s1:=''; s2:=''; mn:=[]; b:=false;
       end;
if st1<>''
 then writeln('Слова-перевёртыши: ',st1)
 else writeln('Слов-перевёртышей нет');
if st2<>''
 then writeln('Слова без повторяющихся букв: ',st2)
 else writeln('Слов без повторяющихся букв нет');
end.

Пример:
Введите текст:
заказ слово комок  пробел след пример огонь текст
Слова-перевёртыши: заказ комок 
Слова без повторяющихся букв: пробел след 

(194k баллов)