Generovanie náhodných známok s pomocou pravdepodobnosti... – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Generovanie náhodných známok s pomocou pravdepodobnosti... – C / C++ – Fórum – Programujte.comGenerovanie náhodných známok s pomocou pravdepodobnosti... – C / C++ – Fórum – Programujte.com

 

EXBART0
Duch
6. 3. 2019   #1
-
0
-


Vytvorte program na generovanie náhodných známok. Program sa spýta na počet známok a do súboru znamky.txt vygeneruje daný počet náhodných známok.

Známky generujte s nasledovných rozložením pravdepodobnosti:
* 1: 15 %
* 2: 25 %
* 3: 30 %
* 4: 20 %
* 5: 10 %
 

Toto cvičenie mi robí problém lámem si s tým hlavu neviete niekto pomôcť? Ďakujem.

Nahlásit jako SPAM
IP: 85.237.234.–
gna
~ Anonymní uživatel
1891 příspěvků
7. 3. 2019   #2
-
0
-

Nejjednodušší metoda je použití rand a rozdělení rozsahu vrácených hodnot. Takže kdyby vracel 0..99, tak 0..14 bude 1, 15..39 bude 2, atd. Samozřejmě limity přepočítat podle hodnoty RAND_MAX.

Ale náhoda je "blbec" a ve tvém případě možná půjde o to, aby to procentuální zastoupení přesně sedělo v každé sadě. Zase primitivní řešení, pokud celkový počet není moc velký, je naplnit pole tak, aby 15% byly jedničky, atd. a pak ho náhodně zamíchat.

Od C++11 je standardizovaná knihovna random, která by tyhle věci měla umět, takže cokoliv složitějšího psát sám nemá moc smysl. Ale nemám s ní zkušenosti a nechce se mi to číst.

Jako každé cvičení to asi staví na něčem, co bys měl znát. Těžko říct, co to je.

Nahlásit jako SPAM
IP: 213.211.51.–
7. 3. 2019   #3
-
0
-

Pozn.: Pokud mám počet známek = 100, každá známka je 1% počtu známek. Udělat 15% jedniček je pohoda. Pokud budu mít známek 200, pak je každá 0,5%. I tak je to OK. Ale co když bude známek třeba 50? Pak každá známka je 2% počtu známek a těch 15% bude nerealizovatelných. Asi nezbude, než nějakým způsobem zaokrouhlovat a u některé známky upravit podíl tak aby celek byl 100%.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
EXBART0
Duch
7. 3. 2019   #4
-
0
-

#3 hlucheucho
Ďakujem.

Nahlásit jako SPAM
IP: 85.237.234.–
EXBART0
Duch
7. 3. 2019   #5
-
0
-

#2 gna
Ďík

Nahlásit jako SPAM
IP: 85.237.234.–
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, 126 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ý