Kezdőoldal » Számítástechnika » Programozás » C-ben hogy tudok 0 és 6...

C-ben hogy tudok 0 és 6 közötti számot véletlenszerűen generálni?

Figyelt kérdés
2014. okt. 5. 22:41
1 2
 1/12 anonim ***** válasza:
100%

int n;

srand(time(0));

n = rand()%7;

2014. okt. 5. 22:55
Hasznos számodra ez a válasz?
 2/12 anonim ***** válasza:
0%
# 1 nem jó, nem normális eloszlású
2014. okt. 6. 01:41
Hasznos számodra ez a válasz?
 3/12 anonim ***** válasza:
51%
Generálsz egy 0 és 1 közötti számot, majd megszorzod 6-al.
2014. okt. 6. 04:14
Hasznos számodra ez a válasz?
 4/12 anonim ***** válasza:
89%
#2: Ki mondta, hogy normális eloszlású kell. A kérdés alapján sztem egyenletes eloszlásra van szüksége a kérdezőnek. Erre gyakorlatilag jó az #1-es megoldás, igaz nem teljesen véletlen, hanem csak pszeudó véletlen.
2014. okt. 6. 09:35
Hasznos számodra ez a válasz?
 5/12 anonim ***** válasza:

# 4 jó, ennyire azért nem értek a valszámhoz :D

arra gondoltam, hogy a rand() eredménye az 0-tól csak 32767-ig garantált, de igazából ki tudja, hogy mennyi, és emiatt lehet, hogy valamelyik szám egy kicsivel többször jön ki

2014. okt. 6. 12:40
Hasznos számodra ez a válasz?
 6/12 anonim ***** válasza:

Ez ok, de neki 0-tól 6 ig kellenek a számok, a különbség olyan elenyésző ebben az esetben, hogy ha már ezt a random függvényt használja, akkor sztem tökmindegy.

Más lenne a helyzet, ha 0-tól 30000-ig kéne szám, ekkor a 768tól kisebb számok 2x akkora valószínűséggel jönnének ki. (És ez is csak a legrosszabb esetben, amikor a RAND_MAX értéke a szabványban szereplő minimum)

0-6 esetén egyik szám 4681x, másik 4682x jön ki átlagosan, ezt észre nem lehet venni, persze tény, hogy igaz amit írsz, de nem ez a legnagyobb probléma, hanem az, hogy ez nem igazi véletlen szám. De ha jól sejtem a kérdezőnek ez pont elég így.

2014. okt. 6. 13:04
Hasznos számodra ez a válasz?
 7/12 anonim ***** válasza:
hagyd már ezt a nem igazi véletlen szám dumát, nem létezik olyan, ami igazi véletlen számot ad vissza (és hordozható)
2014. okt. 6. 13:18
Hasznos számodra ez a válasz?
 8/12 anonim ***** válasza:

Akkor hívd meg ezt:

[link]

És máris kapsz igazi véletlen számokat. Ebben mi nem hordozható? Csak internet kell hozzá.

2014. okt. 6. 13:47
Hasznos számodra ez a válasz?
 9/12 anonim ***** válasza:
"Csak internet kell hozzá."
2014. okt. 6. 14:17
Hasznos számodra ez a válasz?
 10/12 anonim ***** válasza:

# 6 "ezt észre nem lehet venni"

és ha orosz rulett programot ír? az élete múlhat rajtunk...


ha a netről szedi, az egyrészt lassú, függ az internet sebességtől, függ a random.org rendelkezésre állásától, szerver terheléstől, az ő kapcsolatuk sebességétől

és nem biztonságos, a hálózaton bárki lehallgathatja, módosíthatja

2014. okt. 6. 16:47
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!