Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.06.2011, 19:07
bajge bajge вне форума
Прохожий
 
Регистрация: 15.06.2011
Сообщения: 9
Репутация: 10
По умолчанию как определить длину всех слов строки в предложении

Дано предложение. Вывести на экран длины всех слов строки.
Ответить с цитированием
  #2  
Старый 15.06.2011, 19:39
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Разбить на слова и посчитать длину каждого из слов.
Использовать класс TStringList и функцию StringReplace
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 15.06.2011, 20:00
bajge bajge вне форума
Прохожий
 
Регистрация: 15.06.2011
Сообщения: 9
Репутация: 10
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
 str, st: string;
begin
 str:= Edit1.Text;
 while length(str)<>0 do
   begin
    if Pos(' ', str)<> 0 then
     begin
       st:= Copy(str,1,Pos(' ', str)-1);
       delete(str, 1, Pos(' ', str));
       Memo1.Lines.Add('Длина слова : '+ st +'  '+InttoStr(Length(st))+'  знак.');
     end;
    if Pos(' ', str)= 0 then
      begin
       st:= Copy(str,1,Length(str));
       delete(str, 1, Length(str));
       Memo1.Lines.Add('Длина слова : '+ st +'  '+InttoStr(Length(st))+'  знак.');
      end;
   end;
end; 

lmikle: Пользуемся тегами!!!

так ?? а как вывести это в форму?

Последний раз редактировалось lmikle, 15.06.2011 в 22:36.
Ответить с цитированием
  #4  
Старый 15.06.2011, 20:20
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Можно конечно все написать руками, но у вас Delphi а не Pascal, а потому грех не использовать его средства.
Код:
Var
  T: String;
  i: Integer;
begin
T := 'Дано предложение. Вывести на экран длины всех слов строки.';
with TStringList.Create
do begin
    Text := StringReplace(T,#32,#13,[rfReplaceAll]);
    for i := 0 to Count - 1
    do Memo1.Lines.Add(Strings[i] + ' ' + IntToStr(Length(Strings[i])));
    Free;
    end;
end;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 15.06.2011, 21:51
bajge bajge вне форума
Прохожий
 
Регистрация: 15.06.2011
Сообщения: 9
Репутация: 10
По умолчанию

cпасибо , о мудрый человек, а то у меня с этим делом все очень туго =(
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:20.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025