|
|
Регистрация | << Правила форума >> | 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!
|