Zdravím, po delší době jsem se přišel zeptat na nápovědu... Abych to uvedl, dostal jsem za úkol napsat program, který načte nějaký text ten celý upraví v memu tak že každé slovo je na jednoum řádku a po sléze slova které jsou tam víckrat sečte a vypíše jakých slov tam je kolik... Příklad: načtu větu "zavolal jsem haló, a uslyšel jsem haló" a program vypíše: zavolal 1x, jsem 1x, haló 2x, atd...
začal jsem nějak takhle - upravil jsem text, aby se mi upravil v memu - každý řádek, nové slovo:
var
Form1: TForm1;
z,k: integer;
slovo,obsah: ansistring;
znaky: set of char;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
if open_text.execute
then memo1.Lines.LoadFromFile(open_text.Filename);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
obsah:=memo1.text;
repeat
while (not(obsah[k] in znaky)) do
begin
k:=k+1;
end;
k:=k+1;
slovo:=copy(obsah,z,k-z-1);
memo2.Lines.add(slovo);
while (obsah[k] in znaky) do
begin
k:=k+1;
end;
z:=k;
until k>=length(obsah);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
z:=1;
znaky:=[',',' ',';','!','(',')','"','?','=','.','[',']','>','<',':','+','-','/','\'];
k:=0;
end;
procedure TForm1.Memo1Change(Sender: TObject);
begin
memo2.text:='';
z:=0;
k:=0;
slovo:='';
obsah:='';
end;
end.
ale dál vůbec nevím jak... napadly mě nějaké algoritmy pomocí dvojrozměrných polí, či něčeho takového... ale nikdy jsem se nedobral ničeho, abych mohl začít... Potřeboval bych s tím trochu popostrčit... nebo klidně poradit s úplně jiným řešením, jak by jste tuhle úlohu řešili... Je celkem jedno jak to bude vypadat, pouze ať to vykoná to co jsem uvedl... Děkuji za všechny poskytnuté rady.