Vypočet pravděpodobnosti – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Vypočet pravděpodobnosti – C / C++ – Fórum – Programujte.comVypočet pravděpodobnosti – C / C++ – Fórum – Programujte.com

 

Mirek
~ Anonymní uživatel
62 příspěvků
25. 5. 2014   #1
-
0
-

Ahoj,

mám vytvořit program v C++ na zjišťování jazyků (čeština, angličtina, němčina) na základě počtu písmen výchozího textu.

Vytvořil jsem to jako strukturu, takže asi takto:

typedef struct {
	int pismena;
	int procenta;
} Tcestina;

typedef struct {
	int pismena;
	int procenta;
} Tanglictina;

typedef struct {
	int pismena;
	int procenta;
} Tnemcina;

typedef struct {
	int pismena;
	int procenta;
} Tklavesnice;

Kde v int pismena mam seřazený jednotlivý písmeny od nejvyššího počtu po nejnižší a v int procenta mám vypočítaný procentní zastoupení toho písmena v celém výchozím textu.

A ted mám ty struktury porovnávat s tím Tklavesnice (což je text zadaný z klávesnice, u kterého mám zjistit jazyk), jenomže nevím jak na to. Napadlo mě počítání pravděpodobnosti a potom to seřadit od nejpravděpodobnějšího jazyku do nejméně pravděpodobného.

Nevíte co s tím?

Díky za pomoc, Mirek

Nahlásit jako SPAM
IP: 2a00:1028:9199:23c6:e524:...–
p3can
~ Anonymní uživatel
312 příspěvků
25. 5. 2014   #2
-
0
-

tyjo strasna apokalypsa ten kod xD. neprijde ti divne ze mas 4x definouvanou uplne stejnou strukturu ?

struktury/tridy jsou od toho, aby definovaly spolecne znaky realnych objektu. jakoze mas realny objekt auto a to ma nejake vlastnosti jako objem nadrze, objem kufru, pocet mist k sezeni a pak spolene veci jako nastoupit, jet na vylet, naskladat veci do kufru, vyskladat veci z kufru. dale ale mas napr. ruzne vyrobce aut jako skoda audi bmw. takze udelas tridu/strukturu auto kde budou definovany spolecne rysy pro auto a pak si udelas INSTANCE tridy auto ktere budou predstavovat auta tech vyrobcu.

podle me bys sis mel udelat histogramy a porovnavat histogramy. tzn. ze si udelas pole int [] PocetZnaku kde pro kazdy znak bude cetnost jeho vyskytu v textu. z toho pak vytvoris pole relativnich vyskytu double [] RelativniPocetZnaku. pak jen porovnas pomoci metody narp. "nejmensich ctvercu" jak se toto pole lisi od pole v jinem jazyce. dela se to tak ze od sebe odecitas jednotlive prvky a jejich rozdil  pak das nadruhou a sectes a to co ma nejmensi odchylku je nejblize originalu.

priklad

"ahoj baf" -> PocetZnaku ={ 2,1,0,0,0,1 }   //a,b,c,d,e,f,g....

-> RelativniPocetZnaku = {0.5, 0.25,0,0,0,0.25 }

-> nekde sezenes relativni histogram pro cz RelativniPocetZnakuCZ = {0.7, 0.1,0.05,0.06,0.8,0.05 }

->odectes a sectes odchylaOdCZ= (RelativniPocetZnaku[0]-RelativniPocetZnakuCZ[0])^2+ (RelativniPocetZnaku[1]-RelativniPocetZnakuCZ[1])^2+ ...

-> udelas stejne pro ostatni jazyky a kde bude odchylka nejmensi tak je nejpravdepodobnejsi jazyk textu.

Nahlásit jako SPAM
IP: 77.92.213.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 26 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý