Come utilizzare la funzione che genera numeri casuali in dev c++?

in particolare ho bisogno di sapere come poter trovare 5 numeri casuali minori di 100,compresi tra 40 e 150 e maggiori di 15.

GRAZIE :):)

2 risposte

Classificazione
  • 7 anni fa
    Risposta preferita

    l'intersezione delle condizioni dati ci porta a dire che cerchi 5 numeri casuali compresi tra 40 e 100.

    o forse intendevi 3 cose distinte:

    1) 5 numeri casuali < 100

    2) 5 numeri casuali tra 40 e 150

    3) 5 numeri casuali maggiori di 15.

    ricorda che si tratta sempre di pseudocasualità e che dato un certo seme, la sequenza dei numeri, a successive ripetizioni del programma, è sempre la stessa.

    dev-c++ non è il linguaggio, ma una IDE che puoi usare tanto per C quanto per C++. Supporrò C; per il C++, dovrai solo includere cstdlib invece di stdlib.h e invocare la funzione come std::rand() oppure, se hai messo using namespace std, con rand() esattamente come in C.

    l'idea è quindi di usare rand() che dà un intero tra 0 e RAND_MAX inclusi. Se non hai pretese sulla distribuzione, il modo più semplice e intuitivo di limitare questo numero è usare il modulo, cioè il resto della divisione intera per un numero a suo volta intero. Questo perché, come ci insegnano dalle elementari, il resto della divisione per N è un numero che va da 0 a N-1.

    quindi:

    1) rand() % 100;

    dà numeri tra 0 e 99

    2) 40 + rand() % 111;

    dà numeri tra 40 e 150 inclusi.

    3) 16 + rand() % (RAND_MAX - 15);

    questi vanno inseriti in espressioni in un loop, e.g.

    for (int i = 0; i < 5; ++i) { printf("%d\n", EXPR); }

    dove EXPR è l'espressione che ti ho dato prima.

    riguardo al fatto di "limitare" rand() con %, ricorda che è come NON va fatto, se ti interessa mantenere la distribuzione dei numeri pseudocasuali "buona", cioè prossima a quella che avresti con un generatore che generasse veramente dei numeri casuali. Ma dato che è un esercizio, non fa niente. Se un giorno programmerai modelli statistici o simulazioni fisiche, ricorda che non si fa così... e che esistono ottime librerie pensate per generare numeri pseudocasuali secondo una certa distribuzione desiderata.

  • Anonimo
    7 anni fa

    bella .............."minori di 100, compresi tra 40 e 150"

    forse hai le idee confuse

Altre domande? Fai una domanda e ottieni le risposte che cerchi.