Numeri random in intervalli particolari

di Anonimizzato14484 il
12 risposte
Nel linguaggio C:

- Come posso generare numeri random nell'intervallo [pi, 2pi]? (pi = pi greca)
- Come posso generare numeri random nell'intervallo [-1,0]?

12 Risposte

  • La prima domanda che ti pongo:

    C ha una funzione per generare dei numeri casuali?

    Se si, come si chiama e quale e' range di valori generati?

    Se no, come si implementa un generatore di numeri casuali?
  • Sì, rand(),restituisce valori pseudorandom interi tra 0 e RAND_MAX.
  • Bene, ora il passo successivo:

    come fai per convertire il range da [0,RAND_MAX] a [0,1]?
  • Dividendo rand() per RAND_MAX.
  • Johns ha scritto:


    Dividendo rand() per RAND_MAX.
    Perfetto.

    Ed ora se vuoi che il tuo range da [0,1] diventi [0,-1] oppure [0,pi]?
  • Nel primo caso devo sottrarre uno, mentre nell'altro devo moltiplicare per pi.
  • Johns ha scritto:


    Nel primo caso devo sottrarre uno, mentre nell'altro devo moltiplicare per pi.
    Oppure moltiplicare per -1!

    E per convertire da [0,pi] a [pi,2pi]?

    Risolto questo, ti sei risposto alle tue domande
  • Sommando pi?
  • Aggiudicato!

    Vedi, era banale!
  • Ciao!! ho letto sopra alcune informazioni utili per la funzione RAND_MAX in c++.
    Ricapitolando, io devo generare numeri random 0<n<1 e seguendo le vostre indicazioni ho fatto:
    n = rand()/(double(RAND_MAX)+1);
    Qualcuno potrebbe cortesemente spiegarmi in modo completo il funzionamento di questa funzione??
    Grazie in anticipo...
  • Ma scusa... è scritto tutto prima... Cosa non capisci?
  • No è che vorrei essere sicuro di aver capito correttamente...la prima parte ok...non mi è ben chiaro in (double(RAND_MAX)+1) cosa serva +-1....
Devi accedere o registrarti per scrivere nel forum
12 risposte