![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Дан набор слов, разделённых точкой с запятой ( ; ) .Набор заканчивается двоеточием. Определить, сколько в нём слов, заканчивающихся буквой а.
Выполнить в виде консольного приложения. |
|
#2
|
|||
|
|||
|
Код:
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. |
|
#3
|
|||
|
|||
|
Да, а чтобы в виде консольного приложения было, добавьте в начало строку {$APPTYPE CONSOLE}
|
|
#4
|
|||
|
|||
|
Большое спасибо, Rosenkrantz !!!
|
|
#5
|
|||
|
|||
|
Помогите решить, плиз! Дана строка символов. Группы символов, разделенные пробелами или несколькими пробелами и не содержащие пробелов внутри себя, будем называть словами. Найти длину самого длинного слова.На Delphi.
|
|
#6
|
|||
|
|||
|
Код:
function LengthString(s: string): integer;
var
temp: string;
begin
Result := 0;
// Если нет пробелов
if pos(' ', s)=0 then
begin
Result := length(s);
exit;
end;
Temp := s;
// Проверям длины строк
while pos(' ', Temp)<>0 do
begin
if (Result<pos(' ', Temp)-1) then Result := pos(' ', Temp)-1;
System.Delete(Temp, 1, pos(' ', Temp);
end;
// Проверяем последнюю часть строки, т.к. в конце строки может и не быть пробела
if length(Temp)>Result then Result := length(Temp);
end; |
|
#7
|
|||
|
|||
|
Спасибо, Phedor!
![]() |