Выяснить, имеется ли в строке символов пара одинаковых соседних букв.

code: #pascal
program PascalGuru;
label 1;  {метка для "goto" помогающая удалить всё лишнее, оставив только буквы}
 
var s:string;  {объявление переменной  строкого типа}
    i:integer; {переменная для цикла}
    imeetsia:boolean;  {булевая переменная о наличии повтор. букв}
    bukvy:set of char; {объявление переменной множества}
 
begin
write('Vvedite stroku: '); readln(s); {Ввод строки с клавиатуры}
 
bukvy:=['A'..'z'];  {Определяем множество всех латинских букв}
1:for i:=1 to length(s) do
if not(s[i] in bukvy) then begin delete(s,i,1); goto 1; end; {Удаляем из строки всё лишние, оставив только буквы}
 
writeln;
 
imeetsia:=false;  {Булевой переменной о наличии повтор. букв присваиваем ЛОЖЬ}
for i:=2 to length(s) do  {Проходим по строке? начиная со 2-го символа}
if s[i-1]=s[i] then  {если обнаруживаем повтор. одинаковые буквы}
imeetsia:=true; {Присваиваем булевой переменой "о наличии повт.букв" истину}
 
if imeetsia then {если есть повтор. буквы}
            writeln('Esti povtor. bukvy') {выводим на экран, что они имеются}
            else {иначе }
            writeln('NET povtor. bukv'); {выводим на экран, что их нет}
 
readln;
end.      
Поделиться:

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