Visualizzazione dei risultati da 1 a 10 su 10

Discussione: [C] Numeri casuali

  1. #1
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657

    [C] Numeri casuali

    Ciao, come si calcolano i dei numeri casuali in C?
    Conosco la funzione rand(), ma stampa lo stesso numero a causa del Seed o qualcosa del genere...

    suggerimenti?

    Grazie e ciao

  2. #2

    Strano

    Ciao Fantasy,

    strano che ti stampi lo stesso numero..

    prova con

    #include time.h

    long int numero;

    srand(time(NULL));
    numero=rand();

    l ho proprio buttata li in due secodi, ma se la memoria non mi inganna dovrebbe andar bene..fammi sapere!

  3. #3
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657

    Re: Strano

    Originariamente inviato da UltraBeginner
    Ciao Fantasy,

    strano che ti stampi lo stesso numero..

    prova con

    #include time.h

    long int numero;

    srand(time(NULL));
    numero=rand();

    l ho proprio buttata li in due secodi, ma se la memoria non mi inganna dovrebbe andar bene..fammi sapere!
    Ok, ora va meglio, ma ho problemi...
    Ad ogni programma genera un numero diverso, ma allo stesso array mi da lo stesso numero

  4. #4

    Re: Re: Strano

    Originariamente inviato da FinalFantasy
    Ok, ora va meglio, ma ho problemi...
    Ad ogni programma genera un numero diverso, ma allo stesso array mi da lo stesso numero
    uhm, potresti postare il codice?

  5. #5
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,563

    Re: Re: Strano

    Originariamente inviato da FinalFantasy
    Ok, ora va meglio, ma ho problemi...
    Ad ogni programma genera un numero diverso, ma allo stesso array mi da lo stesso numero
    Mmm non ho capito cosa vuoi dire.
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  6. #6
    Secondo me, ma e una mia personale opinione, ha un rand in un ciclo che gli da lo stesso valore....

  7. #7
    Fai attenzione a come usi srand(time(NULL)). La funzione time(NULL) infatti ritorna un tempo espresso in secondi quindi se chiami piu' volte srand(time(NULL)) all'interno dello stesso secondo rand() ti ritornera' lo stesso valore.
    As esempio:

    srand(time(NULL));
    random1=rand();

    srand(time(NULL));
    random2=rand();

    con tutta probabilita' random1 e random2 avranno lo stesso attributo.

    Ciao
    Mic

  8. #8
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,563
    In questo caso dovrebbe applicare un piccolo sleep per dare uno stacco di tempo per generare un numero diverso.
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    No, non deve usare la sleep ... deve semplicemente usare la srand una sola volta, all'inizio del programma ...

  10. #10
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    Originariamente inviato da oregon
    No, non deve usare la sleep ... deve semplicemente usare la srand una sola volta, all'inizio del programma ...
    Wow...bravissimo...grazie (cmq era come diceva UltraBeginner e oregon ci ha azzeccato in pieno)

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.