Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Delphi] Задача про строки


Автор: GEK 22.5.2008, 08:37
Получить все различные слова указавдля каждого количество его вхождений в строку!
Пожалуйста помогите завтра уже сдавать а делать как ума не приложу! smile 

Автор: ama_kid 22.5.2008, 12:38
Цитата(GEK @  22.5.2008,  08:37 Найти цитируемый пост)
делать как ума не приложу!
Хоть бы попробовал для приличия...  smile 
Код
procedure CollectString(const DoStr:string; Res:TStrings);
var
 T:TStringList;
 CurWord:string;
 Count:integer;
begin
 T:=TStringList.Create;
 T.Delimiter:=' ';
 T.DelimitedText:=DoStr;
 Res.Clear;
 repeat
   Count:=1;
   CurWord:=T.Strings[0];
   T.Delete(0);
   while T.IndexOf(CurWord)>=0 do
    begin
     T.Delete(T.IndexOf(CurWord));
     Inc(Count);
    end;
   Res.Add(CurWord+' ('+IntToStr(Count)+')');
 until T.Count=0;
 T.Free;
end;

Автор: GEK 22.5.2008, 14:11
М... ДА а как её в форму загнать? 

Автор: ama_kid 22.5.2008, 14:17
Цитата(GEK @  22.5.2008,  14:11 Найти цитируемый пост)
а как её в форму загнать?  
Да как угодно:
Код
type
  TForm1 = class(TForm)
    Button1: TButton;
    ListBox1: TListBox;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
...
procedure TForm1.Button1Click(Sender: TObject);
begin
 CollectString('раз два три четыре раз два три четыре пять шесть', ListBox1.Items)
end;


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)