Kezdőoldal » Számítástechnika » Programozás » Hogy generálok random meghatár...

Hogy generálok random meghatározott számok közül c++-ban?

Figyelt kérdés

Adott két szám: A = 7 és B = 2; (Mindegy milyen egész számok).


Hogy sorsolok két szám közül random. Tehát kéne egy függvény, vagyhasonló, ami vagy A-t vagy B-t adja vissza random.


Az elfogadható, hogy:

int c = rand()%1;


if(c == 0)

cout << A;

else

cout << B;



2016. márc. 1. 17:58
 1/8 anonim ***** válasza:

Elfogadható.

Több szám esetén pl tömbbe kell berakni a számokat és indexet sorsolni.

2016. márc. 1. 18:13
Hasznos számodra ez a válasz?
 2/8 A kérdező kommentje:

Értem. Nincs a c++-ban olyan l, hogy:


random(A, B)


és akkor vagy A-t vagy B-t ad vissza, ha csak két szám közül kell választanom?

2016. márc. 1. 18:15
 3/8 anonim ***** válasza:
Nincs, de kb 2 perc írni egyet.
2016. márc. 1. 18:20
Hasznos számodra ez a válasz?
 4/8 anonim ***** válasza:

int random(int A, int B)

{

if (rand() % 1)

return A;

else

return B;

}


A randomot nyilván inicializálni kell, úgyhogy érdemes az egészt egy saját Random osztályba rakni.

2016. márc. 1. 18:22
Hasznos számodra ez a válasz?
 5/8 A kérdező kommentje:

Ok. Kösz.


Azt hittem van egy ilyen alapfüggvény.

2016. márc. 1. 18:28
 6/8 anonim ***** válasza:

> rand()%1


Ez mi a jó élet? 1-el osztva minden egész szám 0-t ad maradékul. Esetleg rand()%2, így a maradék vagy 0, vagy 1 50-50% eséllyel.


srand(time(NULL));


if(rand() % 2)

std::cout << A;

else

std::cout << B;


std::cout << std::endl;

2016. márc. 1. 18:32
Hasznos számodra ez a válasz?
 7/8 anonim ***** válasza:

rand() % 2 pont 0-t, vagy 1-et ad.


Ennél egy fokkal jobb, ha tetszőleges mennyiségű szám közül tudunk választani.


Felejtsd el az elágazást!

Tedd bele a számokat egy tömbbe, vagy listába!

Vedd ki a kapott index alapján a kiválasztott számot!


Nagyjából, rusnyán (és vedd figyelembe, hogy egy ideje már nem cpp-ztem):


int possibilities[] = { 7, 2 };

int index = rand() % (sizeof(possibilities) / sizeof(int));

int selected = possibilities[index];

2016. márc. 1. 18:33
Hasznos számodra ez a válasz?
 8/8 anonim ***** válasza:
Van aki használ még rand()-ot C++11 kódban?
2016. márc. 2. 01:13
Hasznos számodra ez a válasz?

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!