Дана строка символов до точки. Определить, сколько слов содержат ровно три буквы "К".

Ответить
Evidence
Сообщения: 5
Зарегистрирован: 01 июн 2009, 20:19

Дана строка символов до точки. Определить, сколько слов содержат ровно три буквы "К".
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Код: Выделить всё

const
   terminators:set of char = ['.'];
   letters:set of char = ['A'..'Z','a'..'z','А'..'Я','а'..'я'];
var
   i,WCounter,KCounter,WLen:integer;

begin

   ..... //вводим как-нибудь строку S

   WLen:=0;
   WCounter:=0;
   KCounter:=0;
   i:=1;
   while (i<=length(s)) and (not (s[i] in terminators)) do begin
      if s[i] in letters then begin //мы внутри слова
         Inc(WLen); //считаем длину слова
         if s[i] in ['K','k'] then inc(KCounter); //считаем буквы К
      end else begin //слово закончилось или еще не началось
         if WLen>0 then begin //слово закончилось
            If KCounter=3 then inc(WCounter);
            WLen:=0;
            KCounter:=0;
         end;
      end;
      inc(i);
   end;


   .... //WCounter - это количество слов, где содержится ровно 3 буквы К

end.
Ответить