![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как найти самое длинное слово в тексте? [D6, WinXP]
Registered Guest © (2005-01-11 09:39:00)Задание вроде простое, но у меня не получается. Дан текст, в котором следует найти самое длинное слово (и вывести его). Как это сделать? Нужен пример программного кода. Best Regards...
Семен Сорокин (2005-01-11 10:36:00) [1]
> ЮЮ © (11.01.05 10:33) [7]
это на случай #10 #13 хотя может и лишнее :)
ЮЮ (2005-01-11 10:33:00) [2]>Семен Сорокин © (11.01.05 10:31) [6]
Trim, пожалуй, лишнее
Семен Сорокин (2005-01-11 10:31:00) [3]во еще вариант на рассмотрение :))
var
_text: string;
_i: integer;
begin
with TStringList.Create do
try
Delimiter := ' ';
DelimitedText := _text;
_text := EmptyStr;
for _i := 0 to Count-1 do
if Length(_text) < Length(Trim(Strings[_i])) then
_text := Trim(Strings[_i])
finally
Free
end
end;
TUser (2005-01-11 10:21:00) [4]
> Александр Иванов © (11.01.05 09:49) [2]
А запятые, числа и пр.? Кстати, интересный вопрос, 'что-то' - это одно слово или два?
program GetMaxWord;
var S: string;
buf: string;
res: string;
i: integer;
begin
readln(S);
S:=S+' '; buf:=''; res:='';
for i:=1 to length(S) do
if S[i] in ['A'..'Z','a'..'z','а'..'я','А'..'Я'] then
buf:=buf+S[i]
else begin
if length(buf) > length(res) then
res:=buf;
buf:='';
end;
end.
Fay (2005-01-11 10:12:00) [5]Ладно, даю первую подсказку : у самого длинного слова количество букв не меньше, чем у остальных слов.
KSergey (2005-01-11 09:50:00) [6]> Registered Guest (11.01.05 09:39)
> Задание вроде простое, но у меня не получается.
Привели что ты делаешь и уажи место где именно не получается.
> Нужен пример программного кода. Best Regards...
Сумма?
Александр Иванов (2005-01-11 09:49:00) [7]index = 1;
MaxWord:='';
repeat
substr := '';
while (Str[index] = ' ') or (index<=length(Str)) do inc(index);
while (Str[index] <> ' ') or (index<=length(Str)) do
begin
substr := substr+Str[index];
inc(index);
end;
if Length(substr) > Length(MaxWord) then
begin
MaxWord:=substr;
end;
until index>length(Str);
Kerk (2005-01-11 09:41:00) [8]свое домашнее задание ты должен сделать сам