domingo, 31 de octubre de 2010

Deitel_C++_4.17 (Lanzamiento de Dados en C++)

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

Related Posts Plugin for WordPress, Blogger...