![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Дано предложение. Вывести на экран длины всех слов строки.
|
|
#2
|
||||
|
||||
|
Разбить на слова и посчитать длину каждого из слов.
Использовать класс TStringList и функцию StringReplace |
|
#3
|
|||
|
|||
|
Код:
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
|
||||
|
||||
|
Можно конечно все написать руками, но у вас 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
|
|||
|
|||
|
cпасибо , о мудрый человек, а то у меня с этим делом все очень туго =(
|