Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/05/2011, 18:59
reethok
 
Fecha de Ingreso: abril-2011
Mensajes: 224
Antigüedad: 13 años, 6 meses
Puntos: 8
Exclamación Problema con aleatoriedad en simulador de volado en C

Hice este simulador de volado... el problema es que la semilla que uso es time(NULL)... y pues... al hacer los 100 volados, los 100 salen iguales porque todo se calcula muy rapido y no pasa ni un segundo xD...

La única alternativa que se me ocurre es que el usuario ingrese la semilla mediante scanf... pero se me hace muy tosco... Alguna idea?

Éste es el código del programa:

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int volado(void);
  5.  
  6. int main()
  7. {
  8.     int i = 1;
  9.     int moneda;
  10.     int cara = 0;
  11.     int cruz = 0;
  12.    
  13.     while(i <= 100){
  14.          moneda = volado();
  15.          if(moneda == 0){
  16.               printf("%d. Cara\n", i);
  17.               cara++;
  18.               }
  19.          else{
  20.               printf("%d. Cruz\n", i);
  21.               cruz++;
  22.               }
  23.          i++;
  24.          }
  25.     printf("\nCara: %d\tCruz: %d\n", cara, cruz);
  26.     getch();
  27.     return 0;
  28. }
  29.  
  30. int volado(void)
  31. {
  32.     int moneda;
  33.    
  34.     srand(time(NULL));
  35.     moneda = (rand() % 2);
  36.    
  37.     if(moneda == 0)
  38.          return 0;
  39.     else
  40.          return 1;
  41. }

Saludos!! :)