Informatică, întrebare adresată de Ranubis, 8 ani în urmă

Se consideră două numere naturale nenule a şi b. Se cere să se genereze şi să se afiseze:

*Dacă se poate rezolva în C ( merge și C++, pot face tranzicția )
*Presupun că se face cu funcțiile SRAND și RAND, dar nu-mi dau seama cum să le pun.

→ un număr natural aleator mai mic decât a;
→ un număr natural întreg aleator din intervalul [-a, b];
→ un număr natural aleator din intervalul [a, b];
→ un număr natural real aleator din intervalul [-a, b];


Ranubis: Prima cerință am reușit să o rezolv, cele 3 nu-mi dau seama cum să pun interval

Răspunsuri la întrebare

Răspuns de andreeaticanet
2

Explicație:

am folosit formulele

pt a genera numere naturale/intregi intre doua limite min si max

int range = max - min + 1;

int num = rand() % range + min;

pt a genera numere reale intre doua limite LOW si HIGH

float r3 = LO + static_cast <float> (rand()) /( static_cast <float> (RAND_MAX/(HI-LO)));

Anexe:

Ranubis: Mulțumesc frumos, până la urmă am reușit să-l fac mai putin cerința 4 cu float, dar acum m-am lămurit ce e cu ea cu ajutorul tău :)
Alte întrebări interesante