Newsgroup: it.comp.programmare
Titolo: generazione contemporanea di 6 numeri casuali

Poichè sono molto pigro ho deciso di crearmi un programma in ANSI-C che mi 
suggerisca di volta in volta una sestina.
Il programma, che vi allego sotto, gira, ma mi da sempre sei numeri uguali.
Io, personalmente penso che ciò sia dovuto al refresh del clock, troppo 
lento per la routine.
Qualcuno sa darmi qualche suggerimento utile?
grazie 
Angelo
cyba...@freemail.it
****************** listato numcas.c *************************
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int numero_casuale(void);
void main(void)
{
  int a,b,c,d,e,f,i;
  for(i=1; i<=6; i++)
    {
      a = numero_casuale();
      b = numero_casuale();
      c = numero_casuale();
      d = numero_casuale();
      e = numero_casuale();
      f = numero_casuale();
    }
  printf ("%d %d %d %d %d %d", a, b, c, d, e, f);
}
int numero_casuale(void)
{
  int n;
  float a;
  /* srand((unsigned int) time(NULL)); */
  srand((unsigned int) clock());
  a = rand();
  a = a/RAND_MAX*90+1;
  n = a;
  return n;
}
************************* fine listato numcas.c ********************

   srand((unsigned int) clock());
Non la devi eseguire ogni volta che vuoi un numero ma una sola volta in
tutto il programma e SOLO se NON VUOI che la sequenza di numeri generati
sia la stessa ogni volta che lanci il programma.
Inoltre ti sconsiglio di usare clock(), ma piuttosto usa time(). Usa
clock() solo se PRIMA hai fatto almeno un input da console (e anche cosě
potresti avere delle sobrprese in caso di uso di pipe e I/O
redirection).
--
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556

Grazie delle spiegazioni, ma il problema rimane.
Allora, come posso generare 6 numeri casuali ogni volta che, ad esempio,
premo un tasto?
In basic, pascal la funzione equivalente random mi dà ogni volta n-numeri
casuali, in ANSI-C come si può fare?
Saluti
Angelo
--
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::  .~.                                                 ::
::  /V\   LINUX      Angelo Massimo Figundio            ::
:: /(_)\  USER       
http://www.figundio.com
            ::
::  ^ ^              
cyba...@freemail.it
               ::
::                                                      ::
:::::::Message released under the GNU/GPL license:::::::::
"Andrea Ferro" <And...@UrkaDVD.it> ha scritto nel messaggio
news:W6rT7.8$Ps2...@nreader2.kpnqwest.net...

 casuali, in ANSI-C come si può fare?
Non vedo il problema.
Chiama:
srand((unsigned int) time());
una volta sola all'inizio del programma.
E poi ogni volta che ti serve generare un numero casuale chiama rand().
Se ti servono 6 numeri chiama rand() sei volte.


Grazie di nuovo :-)
Quindi, una volta che ho creato il seme per generare i numeri casuali, basta
che li creo con rand() !!!
Scusa, ma il libro con cui mi sto aiutando non era molto chiaro !
Ancora Grazie e... buone feste :-)
--
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::  .~.                                                 ::
::  /V\   LINUX      Angelo Massimo Figundio            ::
:: /(_)\  USER       
http://www.figundio.com
            ::
::  ^ ^              
cyba...@freemail.it
               ::
::                                                      ::
:::::::Message released under the GNU/GPL license:::::::::
"Andrea Ferro" <And...@UrkaDVD.it> ha scritto nel messaggio
news:MV%T7.20$K63....@nreader2.kpnqwest.net...