Uses crt; const zn=[' ',':',',','!','?','-',';',')']; var s,s1,s2:string; i,k:byte; begin clrscr; writeln('Введите строку, содержащую 2 одинаковых слова:'); readln(s); s:=s+' '; for i:=1 to length(s) do if s[i] in zn then s[i]:=' '; while pos(' ',s)>0 do delete(s,pos(' ',s),1); if s[1]=' ' then delete(s,1,1); k:=0; while pos(' ',s)>0 do begin s1:=copy(s,1,pos(' ',s)-1); for i:=pos(' ',s)+1 to length(s) do if (copy(s,i,length(s1))=s1) and(s[i-1]=' ') and((s[i+length(s1)]=' ') or(i+length(s1)-1=length(s))) then begin k:=1; s2:=s1; write('Одинаковые слова ',s2); readln; exit; end; delete(s,1,pos(' ',s)); end; if k=0 then write('Нет двух одинаковых слов'); readln end.
const zn=[' ',':',',','!','?','-',';',')'];
var s,s1,s2:string;
i,k:byte;
begin
clrscr;
writeln('Введите строку, содержащую 2 одинаковых слова:');
readln(s);
s:=s+' ';
for i:=1 to length(s) do
if s[i] in zn then s[i]:=' ';
while pos(' ',s)>0 do
delete(s,pos(' ',s),1);
if s[1]=' ' then delete(s,1,1);
k:=0;
while pos(' ',s)>0 do
begin
s1:=copy(s,1,pos(' ',s)-1);
for i:=pos(' ',s)+1 to length(s) do
if (copy(s,i,length(s1))=s1)
and(s[i-1]=' ')
and((s[i+length(s1)]=' ')
or(i+length(s1)-1=length(s))) then
begin
k:=1;
s2:=s1;
write('Одинаковые слова ',s2);
readln;
exit;
end;
delete(s,1,pos(' ',s));
end;
if k=0 then write('Нет двух одинаковых слов');
readln
end.