Дана строка символов до точки. Определить, сколько слов содержат ровно три буквы "К".
Дана строка символов до точки. Определить, сколько слов содержат ровно три буквы "К".
- 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.