Moderátor: Hlavní moderátor
2 příspěvky
Stránka 1 z 1
Ahoj,
potřebuji pomoct s úlohou z programování. Mám vytvořit program, který vypíše četnost slov zadaných uživatelem. Mám to řešit přes pole záznamů, ve kterých mají být zadaná slova a kolikrát se daná slova opakovala. Vůbec nevím, jak postupovat. Budu rád za jakoukoli radu.
Předem děkuji.
potřebuji pomoct s úlohou z programování. Mám vytvořit program, který vypíše četnost slov zadaných uživatelem. Mám to řešit přes pole záznamů, ve kterých mají být zadaná slova a kolikrát se daná slova opakovala. Vůbec nevím, jak postupovat. Budu rád za jakoukoli radu.
Předem děkuji.
Ahoj, co třeba
Function GetNrOfWords(Veta:string):byte;
{Funkce vraci pocet slov ve vete. Vsechny znaky za teckou se ignoruji.
Neni-li ve vete tecka, zpracovava se cela od zacatku az do konce.
Je-li samotna tecka oddelena mezerou, napr ' a .', je povazovana za slovo,
tj. vysledek by byl roven pro tento priklad 2.}
var Mezera,Pocet:byte;
begin {GetNrOfWords}
Mezera:=1;
Pocet:=0;
if Pos('.',Veta)<>0 then {Pokud je ve vete tecka}
Delete(Veta,Pos('.',Veta)+1,Length(Veta)); {Odstran vse za teckou}
while (Length(Veta)>0)and(Mezera<>0) do begin
{Dokud neni veta prazdna a vyskytuje se tam jeste mezera}
Mezera:=Pos(' ',Veta); {Urci pozici mezery ve vete}
if Mezera<>1 then Inc(Pocet); {Neni-li na prvnim miste mezera, zvys pocet
slov}
Delete(Veta,1,Mezera); {Smaz vse do mezery}
end; {while}
GetNrOfWords:=Pocet; {Vrat pocet slov}
end; {GetNrOfWords}
Function GetNrOfWords(Veta:string):byte;
{Funkce vraci pocet slov ve vete. Vsechny znaky za teckou se ignoruji.
Neni-li ve vete tecka, zpracovava se cela od zacatku az do konce.
Je-li samotna tecka oddelena mezerou, napr ' a .', je povazovana za slovo,
tj. vysledek by byl roven pro tento priklad 2.}
var Mezera,Pocet:byte;
begin {GetNrOfWords}
Mezera:=1;
Pocet:=0;
if Pos('.',Veta)<>0 then {Pokud je ve vete tecka}
Delete(Veta,Pos('.',Veta)+1,Length(Veta)); {Odstran vse za teckou}
while (Length(Veta)>0)and(Mezera<>0) do begin
{Dokud neni veta prazdna a vyskytuje se tam jeste mezera}
Mezera:=Pos(' ',Veta); {Urci pozici mezery ve vete}
if Mezera<>1 then Inc(Pocet); {Neni-li na prvnim miste mezera, zvys pocet
slov}
Delete(Veta,1,Mezera); {Smaz vse do mezery}
end; {while}
GetNrOfWords:=Pocet; {Vrat pocet slov}
end; {GetNrOfWords}
S pozdravem
Tým IT-Forum.cz
Naše projekty
eHelpDesk.cz - tiketovací systém
instalacka.cz - software zadarmo
Software.cz - elektronický prodej licencí
upit.cz - IT outsourcing
wintip.cz - Tipy pro Windows
Doporučujeme
Winrar , Drivermax
Avast Business Antivirus
CCleaner
Tým IT-Forum.cz
Naše projekty
eHelpDesk.cz - tiketovací systém
instalacka.cz - software zadarmo
Software.cz - elektronický prodej licencí
upit.cz - IT outsourcing
wintip.cz - Tipy pro Windows
Doporučujeme
Winrar , Drivermax
Avast Business Antivirus
CCleaner
2 příspěvky
Stránka 1 z 1