Foros del Web » Programación para mayores de 30 ;) » C/C++ »

alguna idea?¿?que harias vos?¿ [Calcular tiradas de dados]

Estas en el tema de alguna idea?¿?que harias vos?¿ [Calcular tiradas de dados] en el foro de C/C++ en Foros del Web. Hola a todos..! Soy nuevo en el foro.-Se q no se resuelven las tareas pero me dieron para hacer un programa q calcule 32 mil ...
  #1 (permalink)  
Antiguo 13/04/2009, 18:37
 
Fecha de Ingreso: abril-2008
Mensajes: 7
Antigüedad: 16 años
Puntos: 0
alguna idea?¿?que harias vos?¿ [Calcular tiradas de dados]

Hola a todos..! Soy nuevo en el foro.-Se q no se resuelven las tareas pero me dieron para hacer un programa q calcule 32 mil tiradas de dos dados simultaneamente.(O sea un ramdom para cada dado) Luego q imprima: cuantas veces cayeron por ejemplo dos dos. uno uno , tres tres, cuatro cuatro( calculado en porcentajes)
Alguien puede al menos ayudarme un poco.?¿ n se por donde arrancar!
  #2 (permalink)  
Antiguo 13/04/2009, 23:44
Avatar de fradve  
Fecha de Ingreso: abril-2009
Mensajes: 157
Antigüedad: 15 años
Puntos: 7
Respuesta: alguna idea?¿?que harias vos?¿ [Calcular tiradas de dados]

Hola que tal;

Efectivamente como tu dices con dos random esa es la solución, tienes que hacerlo dentro de un bucle que de 32000 vueltas e ir preguntando si en cada vuelta el resultado de los dos randoms coincide y si es así entonces lo cuentas para el número que ha salido, puedes almacenar estos valores en un vector o en una variable destinada para cada número y lo del porcentaje ya es fácil

numero de veces * 100 / 32000

o

numero de veces/320 (por la supresión de los ceros)

Se me olvidaba sino colocas la funcion randomize() antes del bucle cada vez que corras el programa te van a salir los mismos resultados...

Espero haber sido de ayuda...

Última edición por fradve; 14/04/2009 a las 21:41
  #3 (permalink)  
Antiguo 14/04/2009, 16:15
 
Fecha de Ingreso: abril-2008
Mensajes: 7
Antigüedad: 16 años
Puntos: 0
De acuerdo Respuesta: alguna idea?¿?que harias vos?¿ [Calcular tiradas de dados]

Hola capo! muchas gracias por contestar..esa es la idea pero nunca usé ramdom y no se como hacerlo entre 1 y 6.- ( no sé como ponerlo ni q libreria usar). POr último y mas complicado aún.el prog no debe calcular cuantas veces cayó uno uno ni dos dos..etc sino q debe calcular la suma de todas las tiradas. Y a su vez calcular: cuantas veces sumando los dos dados sume 2, es decir cuantas veces me cayeron dos 1. ,cuantas veces sumando los dos dados me dio 3,es decir, cuantas veces me cayó un 1 y un 2 ó un 2 y un 1, cuantos veces sumando los dos dados sumé 4, es decir, con un 1 y un 3 ó con dos 2, Y así sucesivamente. O seá debería sumar dsp de hacer los dos ramdom y almacenar la suma en un Vector?¿
Que tarea no?¿?¿ No parece ser complicado pero a mí no me dá el boche je

Última edición por David; 14/04/2009 a las 21:24 Razón: Eliminar cita de mensaje completo
  #4 (permalink)  
Antiguo 14/04/2009, 21:16
Avatar de fradve  
Fecha de Ingreso: abril-2009
Mensajes: 157
Antigüedad: 15 años
Puntos: 7
Respuesta: alguna idea?¿?que harias vos?¿ [Calcular tiradas de dados]

Hola,

Ya veo que no entendí bien jejeje... Pero bueno ahora si ya creo que lo capté, en general lo que tienes que hacer es lo siguien, como tienes que almacenar lo que te sale en cada tirada de acuerdo a la suma de los dados lo mejor es una matriz viene como anillo al dedo, en la cual tu por ejemplo sale 1 y 1 que es 2 incrementas en 1 la posición [0][0], si te sale 1 y 2 incrementas en 1 la posición [0][1], si te sale 2 y 1 incrementas en 1 la posicion [1][0] y así sucesivamente con todos los valores, vas a crear una tabla(matriz) de eso ellos, y para la presentación las puedes hacer manualmente..

Te voy a ayudar con un code, no esta refinado pero si te va a servir...

Código C++:
Ver original
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<stdlib.h>
  4.  
  5.  
  6. void main()
  7. {
  8.   int dado1=0,dado2=0;
  9.   int i=0;
  10.   float porc=0,tiradas[6][6]={{0,0,0,0,0,0},{0,0,0,0,0,0},{0,0,0,0,0,0},{0,0,0,0,0,0},{0,0,0,0,0,0},{0,0,0,0,0}};
  11.   //se declaran float para obtener los decimales al calcular el porcentaje
  12.   //o sino hay que hacer un casting a float y listo
  13.   textmode(C80);
  14.   clrscr();
  15.   randomize();//si no colocas esto se te van a repetir los
  16.           // mismos n£meros en cada corrida
  17.   for(i=1;i<=32000;i++)
  18.   {
  19.     dado1=random(6)+1;
  20.     dado2=random(6)+1;
  21.     tiradas[dado1-1][dado2-1]++;
  22.   }
  23.     printf("RESULTADOS DESPUES DE 32000 tiradas\n\n");
  24.  
  25.     porc=(tiradas[0][0]*100)/32000;
  26.     printf("Veces que sumaron 2:\n 1 - 1 = %0.0f  que es un   %4.2f%",tiradas[0][0],porc);
  27.  
  28.     porc=(tiradas[0][1]*100)/32000;
  29.     printf("\n\nVeces que sumaron 3:\n 1 - 2 = %0.0f  que es un   %4.2f%",tiradas[0][1],porc);
  30.     porc=(tiradas[1][0]*100)/32000;
  31.     printf("\n 2 - 1 = %0.0f  que es un   %4.2f%",tiradas[1][0],porc);
  32.  
  33.     porc=(tiradas[0][2]*100)/32000;
  34.     printf("\n\nVeces que sumaron 4:\n 1 - 3 = %0.0f  que es un   %4.2f%",tiradas[0][2],porc);
  35.     porc=(tiradas[1][1]*100)/32000;
  36.     printf("\n 2 - 2 = %0.0f  que es un   %4.2f%",tiradas[1][1],porc);
  37.     porc=(tiradas[2][0]*100)/32000;
  38.     printf("\n 3 - 1 = %0.0f  que es un   %4.2f%",tiradas[2][0],porc);
  39.  
  40.     porc=(tiradas[0][3]*100)/32000;
  41.     printf("\n\nVeces que sumaron 5:\n 1 - 4 = %0.0f  que es un   %4.2f%",tiradas[0][3],porc);
  42.     porc=(tiradas[1][2]*100)/32000;
  43.     printf("\n 2 - 3 = %0.0f  que es un   %4.2f%",tiradas[1][2],porc);
  44.     porc=(tiradas[2][1]*100)/32000;
  45.     printf("\n 3 - 2 = %0.0f  que es un   %4.2f%",tiradas[2][1],porc);
  46.     porc=(tiradas[3][0]*100)/32000;
  47.     printf("\n 4 - 1 = %0.0f  que es un   %4.2f%",tiradas[3][0],porc);
  48.     getch();
  49.  
  50.     porc=(tiradas[0][4]*100)/32000;
  51.     printf("\n\nVeces que sumaron 6:\n 1 - 5 = %0.0f  que es un   %4.2f%",tiradas[0][4],porc);
  52.     porc=(tiradas[1][3]*100)/32000;
  53.     printf("\n 2 - 4 = %0.0f  que es un   %4.2f%",tiradas[1][3],porc);
  54.     porc=(tiradas[2][2]*100)/32000;
  55.     printf("\n 3 - 3 = %0.0f  que es un   %4.2f%",tiradas[2][2],porc);
  56.     porc=(tiradas[3][1]*100)/32000;
  57.     printf("\n 4 - 2 = %0.0f  que es un   %4.2f%",tiradas[3][1],porc);
  58.     porc=(tiradas[4][0]*100)/32000;
  59.     printf("\n 5 - 1 = %0.0f  que es un   %4.2f%",tiradas[4][0],porc);
  60.  
  61.     porc=(tiradas[0][5]*100)/32000;
  62.     printf("\n\nVeces que sumaron 7:\n 1 - 6 = %0.0f  que es un   %4.2f%",tiradas[0][5],porc);
  63.     porc=(tiradas[1][4]*100)/32000;
  64.     printf("\n 2 - 5 = %0.0f  que es un   %4.2f%",tiradas[1][4],porc);
  65.     porc=(tiradas[2][3]*100)/32000;
  66.     printf("\n 3 - 4 = %0.0f  que es un   %4.2f%",tiradas[2][3],porc);
  67.     porc=(tiradas[3][2]*100)/32000;
  68.     printf("\n 4 - 3 = %0.0f  que es un   %4.2f%",tiradas[3][2],porc);
  69.     porc=(tiradas[4][1]*100)/32000;
  70.     printf("\n 5 - 2 = %0.0f  que es un   %4.2f%",tiradas[4][1],porc);
  71.     porc=(tiradas[5][0]*100)/32000;
  72.     printf("\n 6 - 1 = %0.0f  que es un   %4.2f%",tiradas[5][0],porc);
  73.  
  74.     porc=(tiradas[1][5]*100)/32000;
  75.     printf("\n\nVeces que sumaron 8:\n 2 - 6 = %0.0f  que es un   %4.2f%",tiradas[1][5],porc);
  76.     porc=(tiradas[2][4]*100)/32000;
  77.     printf("\n 3 - 5 = %0.0f  que es un   %4.2f%",tiradas[2][4],porc);
  78.     porc=(tiradas[3][3]*100)/32000;
  79.     printf("\n 4 - 4 = %0.0f  que es un   %4.2f%",tiradas[3][3],porc);
  80.     porc=(tiradas[4][2]*100)/32000;
  81.     printf("\n 5 - 3 = %0.0f  que es un   %4.2f%",tiradas[4][2],porc);
  82.     porc=(tiradas[5][1]*100)/32000;
  83.     printf("\n 6 - 2 = %0.0f  que es un   %4.2f%",tiradas[5][1],porc);
  84.     getch();
  85.  
  86.     porc=(tiradas[2][5]*100)/32000;
  87.     printf("\n\nVeces que sumaron 9:\n 3 - 6 = %0.0f  que es un   %4.2f%",tiradas[2][5],porc);
  88.     porc=(tiradas[3][4]*100)/32000;
  89.     printf("\n 4 - 5 = %0.0f  que es un   %4.2f%",tiradas[3][4],porc);
  90.     porc=(tiradas[4][3]*100)/32000;
  91.     printf("\n 5 - 4 = %0.0f  que es un   %4.2f%",tiradas[4][3],porc);
  92.     porc=(tiradas[5][2]*100)/32000;
  93.     printf("\n 6 - 3 = %0.0f  que es un   %4.2f%",tiradas[5][2],porc);
  94.  
  95.  
  96.     porc=(tiradas[3][5]*100)/32000;
  97.     printf("\n\nVeces que sumaron 10:\n 4 - 6 = %0.0f  que es un   %4.2f%",tiradas[3][5],porc);
  98.     porc=(tiradas[4][4]*100)/32000;
  99.     printf("\n 5 - 5 = %0.0f  que es un   %4.2f%",tiradas[4][4],porc);
  100.     porc=(tiradas[5][3]*100)/32000;
  101.     printf("\n 6 - 4 = %0.0f  que es un   %4.2f%",tiradas[5][3],porc);
  102.  
  103.     porc=(tiradas[4][5]*100)/32000;
  104.     printf("\n\nVeces que sumaron 11:\n 5 - 6 = %0.0f  que es un   %4.2f%",tiradas[4][5],porc);
  105.     porc=(tiradas[5][4]*100)/32000;
  106.     printf("\n 6 - 5 = %0.0f  que es un   %4.2f%",tiradas[5][4],porc);
  107.  
  108.     porc=(tiradas[5][5]*100)/32000;
  109.     printf("\n\nVeces que sumaron 12:\n 6 - 6 = %0.0f  que es un   %4.2f%",tiradas[5][5],porc);
  110.   getch();
  111. }

Espero que esta ves te haya ayudado...

Última edición por fradve; 14/04/2009 a las 21:41
  #5 (permalink)  
Antiguo 20/04/2009, 21:01
 
Fecha de Ingreso: abril-2008
Mensajes: 7
Antigüedad: 16 años
Puntos: 0
Respuesta: alguna idea?¿?que harias vos?¿ [Calcular tiradas de dados]

Increible animal..te pasaste con el codigo.
Solo falta la impresion de la suma del total de las tiradas.-

Muchas gracias .-

Última edición por David; 20/04/2009 a las 21:23 Razón: Eliminar cita del mensaje anterior.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 15:03.