[C] Probabilità

di il
5 risposte

[C] Probabilità

Ciao, all'interno di un mio programma vorrei che un processo in loop eseguisse una determinata azione solo con una certa probabilità, tipo 10%. Io avrei fatto così:
if(rand()%10==0){
					//azione con probabilità 10%
				}
Questo è il modo giusto per farlo? Perché quando vado ad eseguire funziona sempre al 10imo tentativo e i numeri che vengono estratti sono sempre gli stessi.

5 Risposte

  • Re: [C] Probabilità

    Intanto devi usare la funzione srand all'inizio
  • Re: [C] Probabilità

    Scansione all'inizio di che cosa? E perché non ottengo una probabilità 1/10? Lo stesso se popolo un array ad esempio con un uno e nove 0, poi estraggo casualmente l'indice e controllo se a quella posizione nell'array ho 1? Come dovrei fare altrimenti?
  • Re: [C] Probabilità

    Funzione srand... il correttore scrive quello che vuole
  • Re: [C] Probabilità

    La funzione srand per inizializzarlo ogni volta, in modo che non ripeta sempre la stessa sequenza se ho capito bene. Ma per calcolare la probabilità è corretto il metodo?
  • Re: [C] Probabilità

    Con il modulo 10 ottieni numeri tra 0 e 9 (compresi), ognuno con probabilità 1/10...
    Provare per credere.
Devi accedere o registrarti per scrivere nel forum
5 risposte