Выяснить, имеется ли в строке символов пара одинаковых соседних букв — 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.

Leave a Comment

+ 60 = 70