Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2012
    Messaggi
    53

    [C]Problema numeri random, ma non troppo

    Ciao a tutti, ho un problema con i numeri random.
    codice:
    /*******************/
    /*Inclusione delle librerie*/
    /*******************/
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>/*serve per utilizzare l'ora interna del computer come seme per randomize*/
    
    
    /****************************/
    /*Definizione delle costanti simboliche*/
    /****************************/
    
    /*utilizzo due costanti per rendere meno macchinoso il codice*/
    #define RANDOM(x) rand() % x
    #define RANDOMIZE srand((unsigned)time(NULL))
    Utilizzo l'ora interna del pc per randomizzare e nella funzione c'è questo:

    codice:
    ...
    RANDOMIZE;
    risultato = RANDOM(risultato_lancio);
    return(risultato);
    Il problema nasce quando, richiamando questa funzione in un ciclo for più volte, esce sempre lo stesso risultato...altro che random!
    Come posso risolvere in modo che escano davvero numeri random tra (0) e (risultato_lancio-1)???????????????????????? HELP!

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Basta che

    RANDOMIZE

    stia fuori dal ciclo, chiamata una sola volta all'inizio.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2012
    Messaggi
    53
    Hai ragione! Grande!
    Io pensavo che mettendolo dentro la funzione lavorava anche meglio perchè andava a prendere ad ogni istante l'ora diversa dell'orologio interno!
    Potresti spiegarmi perchè così funziona per favore???

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Perché all'interno di un ciclo il computer è talmente veloce che l'ora rimane uguale tante volte.

    A te serve far ripartire il generatore soltanto all'inizio del programma.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2012
    Messaggi
    53
    Grazie ancora!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.