|
Lanzamiento de Dados en C++ |
Escriba un programa que simule el tiro de dos dados. El programa debe utilizar rand para tirar el primer dado y debe utilizar rand de nuevo para tirar el segundo dado. Entonces, se debe calcular la suma de los dos valores. Su programa debe lanzar los dedos 36000 veces. Utilice un arreglo con un sólo subíndice para registrar el número de veces que aparece cada suma posible. Despliegue los resultados en formato tabular. Además, determine si los totales son razonables (es decir, existen 6 maneras de tirar un 7, de manera que aproximadamente un sexto de todos los tiros debe ser 7).
// ESTE PROGRAMA SIMULA 3600 LANZAMIENTOS DE UN DADO
#include <iostream>
using namespace::std;
#include <ctime>
// CONTIENE EL PROTOTIPO DE LA FUNCION TIME
#include <cstdlib>
// CONTIENE EL PROTOTIPO DE LA FUNCION RAND Y SRAND
int main()
{ // ABRE MAIN
srand( time( 0 ) );
// USA LA HORA ACTUAL COMO SEMILLA PARA PRODUCIR NUMEROS ALEATORIOS
// DISTINTOS EN CADA LLAMADA A RAND
cout <<"\n\nLanzamiento de 3600 jugadas: " << endl;
int lanzamiento;
int Frecuencia[13] = {0};
// SE LANZAN DOS DADOS Y SE EVITA EL ELEMENTO 0 DEL ARREGLO
for ( int i = 1; i <= 3600; i++ )
{ // ABRE FOR
lanzamiento = ( 1 + rand() % 6 ) + (1 + rand() % 6 );
// AQUI SE SIMULA EL LANZAMIENTO DE LOS DADOS
Frecuencia[lanzamiento]++;
// SE INCREMENTA EN 1 LA FRECUENCIA DEL NUMERO QUE CAYO
} // CIERRA FOR
for ( int n = 2; 12 >= n; n++ )
// ESTE CICLO FOR IMPRIME LAS FRECUENCAS
cout <<"\nLa frecuencia de " << n << " es: " << Frecuencia[n];
cout << endl;
return 0;
}
No hay comentarios:
Publicar un comentario