Kezdőoldal » Számítástechnika » Programozás » Hogyan lehet így C++ random...

Hogyan lehet így C++ random számot generálni?

Figyelt kérdés

1-10 60% esély

11-20 20% esély

21-30 15% esély

31-40 5% esély



2015. szept. 16. 17:59
1 2
 1/13 anonim ***** válasza:
73%

Generalsz 1-100 tartomanyban, majd az (1,60) tartomanyban 6-al osztasz, a (60,90) tartomanyban (x-60)/2+10 keplettel normalod a celtartomanyra, es igy tovabb.


Masik megoldas, hogy ha a 10-es tartomanyokon belul nem egyenletes eloszlas kell, akkor illeszthetsz harmadfoku fuggvenyt a megadott ertekekre.

2015. szept. 16. 18:16
Hasznos számodra ez a válasz?
 2/13 anonim ***** válasza:
80%

Szerintem ez 2 generálás lesz. Az elsővel meghatározod melyik intervallumból fogod a másikat generálni, ami a végeredmény lesz.


Az első generálás úgy nézne ki, hogy generálsz egy random számot 0 és 1 között, legyen ez x.

- Ha x<0.6, akkor az első intervallumból fogod a második generálást futtatni.

- Ha x<0.8 (60+20%), akkor a másodikból.

- Ha x<0.95, akkor a harmadikból.

- Különben a negyedikből.

2015. szept. 16. 18:16
Hasznos számodra ez a válasz?
 3/13 anonim ***** válasza:
100%

Találj ki határokat.


5% a legkisebb, akkor dolgozhatunk 100-as számmal. Generálj egy random számot 1-100 között, ez mondja meg melyik tartományba fog esni a random számod.


Ha 1-60 között, akkor 1-10 között generálj randomot.

Ha 61-80 között, akkor 11-20 között generálj neki.

Ha 81-95 között, akkor 21-30, 96-100 pedig a 31-40 közötti random generálást kell, hogy csinálja.


Nem tudom van-e szebb megoldás, de ez első ránézésre is könnyen érthető.

2015. szept. 16. 18:19
Hasznos számodra ez a válasz?
 4/13 anonim ***** válasza:

#2 vagyok


Megköszönnék egy indoklást a véreskezűtől, hogy tanuljak belőle.

2015. szept. 16. 21:29
Hasznos számodra ez a válasz?
 5/13 A kérdező kommentje:

"random számot 0 és 1 között"

"Ha x<0.95, akkor a harmadikból.

Különben a negyedikből."


Ebből 6% lesz 5 helyett.


0,95

0,96

0,97

0,98

0,99

1

2015. szept. 16. 22:01
 6/13 anonim ***** válasza:
Es ezt sem tudod megoldani vagy mi?
2015. szept. 16. 22:05
Hasznos számodra ez a válasz?
 7/13 A kérdező kommentje:

Válaszoltam miért kaphatott lepontozást (nem tőlem).

A kérdést nem azért tettem fel mert nem tudtam megoldani, hanem mert más megoldására is kíváncsi voltam.

2015. szept. 16. 22:24
 8/13 anonim ***** válasza:
Na es az elso valasszal mi a baj? Szivesen kifejtem ami nem ertheto:)
2015. szept. 16. 22:35
Hasznos számodra ez a válasz?
 9/13 A kérdező kommentje:
Így első ránézésre felesleges túlbonyolítás, de ha jobban levezeted lehet kézenfekvőbbnek fog már látszani mint a többi megoldás (ha van előnye azokkal szemben). Ismétlem én nem pontoztam le senkit.
2015. szept. 16. 23:07
 10/13 anonim ***** válasza:

Termeszetesen van elonye, hogy nem kell 2 random szamot generalni. A rand() draga C-ben, jobban megeri szorozni-osztani.


A fuggvenyes dolog meg valoban hulyeseg.

2015. szept. 16. 23:15
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!