Newsgroup: it.comp.lang.c++
Titolo: domandina semplice semplice..

Che funzione devo usare per mettere in una variabile un numero random da 1 a
10 ?
-

 10 ?
Le "Frequently Asked Questions" (FAQ: Domande Poste Spesso)
di questo gruppo, e questa e` una di esse, trovano risposta a
www.programmazione.it
.
Alex

 
www.programmazione.it
.
le ho lette, ma non ho trovato risposta...
continuo ad indagare..
Phones.

continuo ad indagare..
Quelle su 
www.programmazione.it
 non sono ancora
aggiornate causa mia dimenticanza...
Mandero` subito a Marco Abis la nuova release,
intato le riposto.
Paolo
--------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
--------------------------------------------------

 le ho lette, ma non ho trovato risposta...
Sembra incredibile.  Guarda la FAQ numero 11 e leggi:
    int random_fra_0_e_99() {
      return rand() % 100;
    }
Ti sembra cosi` difficile, partendo da questo esempio,
modificarlo per avere numeri da 1 a 10 invece che da
0 o 99?  O ti da` problemi "mettere in una variabile"
il risultato di questa funzione...?!-)
Alex

 restituisce un intero tra 0 e (n-1); quindi tu usa: random(10) +1
Funzione non-standard, e quindi da evitare anche se un certo
particolare compilatore dovesse offrirla.
Alex

random(n) ;
Non é standard. Esiste solo nei compilatori Borland.
Il Ghenio
-----
James: Adesso so finalmente cosa provano i panni messi in lavatrice!
Jesse: Avremo bisogno di un candeggio!!
(Team Rocket)
-----

 Non é standard. Esiste solo nei compilatori Borland.
Infatti MS VC++  non lo prende.
Ho utilizzato la funzione rand(), ma ho ancora un problema....
Ogni volta che eseguo il programma il valore che mi tira fuori è sempre 2 !
Se eseguo la funzione + di una volta, il valore varia, ma la prima
esecuzione
è sempre 2.....
Come faccio a fare che sia veramente random ?!
Phones

 wrote in message
news:8a6djg$69f$1...@lacerta.tiscalinet.it...

Leggi le FAQ, ad esempio sull'utile archivio di news di 
deja.com
,
http://www.deja.com/threadmsg_ct.xp?AN=594186514
 -- e,
specificamente, la numero 12, "come mai ottengo sempre la
stessa sequenza di numeri casuali?" -- mi pare che il testo della
domanda stessa dovrebbe suggerirti di sbirciare la risposta:-).
Alex

Come faccio a fare che sia veramente random ?!
Probabilmente ti sei dimenticato di inizializzare il generatore di
numeri casuali. Solitamente io lo faccio sempre appoggiandomi al
timer:
#include <time.h>
time_t  t;
srand((unsigned) time(&t));
Per la generazione dei numeri dipende un pò dalla qualità dei numeri
che vuoi ottenere. Se la qualità non dev' essere molto alta ti basta
var = (rand() % limite);
Altrimenti ti consiglio di usare quest' altra espressione
var = (rand() / (RAND_MAX / limite ));
Considera comunque che il generatore standard del C non é molto
efficiente, e può andar bene solo se si devono generare numeri
pseudo-casuali senza troppe pretese.Se invece vuoi ottenere dei numeri
veramente casuali ti consiglio di rivolgerti ad altri generatori
disponibili in rete. Leggiti le FAQ di it.comp.lang.c++ e troverai i
link che ti servono(ricordo che le FAQ dedicate all' argomento sono la
11, 12 e 13).


 11, 12 e 13).
ok...
ma come inizializzo il generatore di mumeri casuali ? Non mi sono chiare
le source che mi hai postato... considera che ho appena iniziato...
Phones