Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/05/2011, 12:04
reethok
 
Fecha de Ingreso: abril-2011
Mensajes: 224
Antigüedad: 13 años
Puntos: 8
Exclamación Problema con arreglos y funcion rand()

Hice un programa que simula lanzar un dado 6000 veces, guarda los resultados en un arreglo y después imprime cuantas veces salió cada cara del "dado"... pero me da resultados incorrectos... En cada cara del dado (1,2,3,4,5,6) salen numeros mucho mayores que 6000... entonces no entiendo que pasa!

Este es el código:

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. #define TAMANIO 7
  6.  
  7. int main()
  8. {
  9.     int cara;
  10.     int tiro;
  11.     int frecuencia[TAMANIO];
  12.  
  13.     srand(time(NULL));
  14.  
  15.     for(tiro = 1; tiro <= 6000; tiro++){
  16.         cara = (rand() % 6) + 1;
  17.         ++frecuencia[cara];
  18.         }
  19.  
  20.     printf("%s%17s\n", "Cara", "Frecuencia");
  21.  
  22.     for(cara = 1; cara < TAMANIO; cara++){
  23.         printf("%4d%17d\n", cara, frecuencia[cara]);
  24.         }
  25.     getch();
  26.     return 0;
  27. }