04.12.2007, 03:08
|
Активный
|
|
Регистрация: 04.12.2007
Адрес: Москва
Сообщения: 234
Версия Delphi: Delphi 7
Репутация: 40
|
|
Код:
function CountWords(Phrase: String; Letter: Char; WordDelimiter: Char = ';'): Word;
var
i : Integer;
AWord : String;
begin
// Если строка не заканчивается разделитерем - добавим его сами
if (Phrase[Length(Phrase)] <> WordDelimiter) then
Phrase := Phrase + WordDelimiter;
Result := 0;
// Найти первый разделитель в строке
i := Pos(WordDelimiter, Phrase);
While (i <> 0) Do begin
AWord := Copy(Phrase, 1, i - 1);
if (AWord <> '') and (AWord[Length(AWord)] = Letter) then
// Если слово не нулевой длины и заканчивается на нужную букву
Inc(Result);
// Отсекаем уже обработанную часть строки
Phrase := Copy(Phrase, i + 1, Length(Phrase) - i);
// Ищем следующий разделитель
i := Pos(WordDelimiter, Phrase);
end;
end;
begin
Writeln(CountWords('вода;еда;караганда', 'а'));
end.
|