Hogy generálok random meghatározott számok közül c++-ban?
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;
Elfogadható.
Több szám esetén pl tömbbe kell berakni a számokat és indexet sorsolni.
É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?
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.
Ok. Kösz.
Azt hittem van egy ilyen alapfüggvény.
> 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;
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];
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!