Выяснить, имеется ли в строке символов пара одинаковых соседних букв.
Категория: Delphi/Pascal
2012-01-19 20:19:38
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.
Поделиться: