Напишите программу, вводящую с клавиатуры строку символов, которая содержит последовательность слов, разделённых пробелами, и печатающую все палиндромы, встретившиеся в строке

code: #pascal
program PascalGuru;
uses crt;
var s,s1,s2:string;
i,k:integer;
function Pal(s:string):boolean;
var i:byte;
    s1:string;
begin
s1:='';
for i:=length(s) downto 1 do
s1:=s1+s[i];
if s=s1 then Pal:=true
else Pal:=false;
end;
 
begin;
clrscr;
writeln('Vvedite slova razdelennymi probelami: ');
readln(s); s:=s+' ';
writeln;
writeln('Palindromy:');
 
while pos('  ',s)>0 do
delete(s,pos('  ',s),1);
i:=length(s);
s1:='';
while s[i]<>' ' do
 begin
  s1:=s[i]+s1;
  i:=i-1;
 end;
k:=0;
while pos(' ',s)>0 do
 begin
 s2:=copy(s,1,pos(' ',s)-1);
 if (s2<>s1)and Pal(s2) then
 begin
  writeln(s2);
  k:=k+1;
  end;
 delete(s,1,pos(' ',s));
 end;
if k=0 then
write('V stroke ne naideno palindroma! ');
readln;
end.      
Поделиться:

Похожие статьи: