Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: swagger14 en 1 Marzo 2012, 14:48 pm



Título: programa c++ que simule el lanzamiento de una moneda
Publicado por: swagger14 en 1 Marzo 2012, 14:48 pm
el programa debe decirme cuanta veces cae cara  y viserversa!
Código:
 
 int main()
 {
  srand(time(NULL));   
  cout << "cuanta veces deseas lanzar la moneda" << endl;
  cin  >> n;

  for (i=0; i<n;i++)
 

  cout << rand()%2 <<endl;
  if ((rand()%2)==0)
     {cara++;}
     
     if((rand()%2)==1)
         {cruz++;}
 
  cout << "cara\n" << cara  <<endl;
  cout << "cruz\n" << cruz  <<endl;
 
  cout <<endl;
  system ("pause");
  return 0;


}


Título: Re: programa c++ que simule el lanzamiento de una moneda
Publicado por: rir3760 en 1 Marzo 2012, 15:21 pm
Cuando tengas un problema con alguno de tus programas no solo debes publicar el código fuente de este sino también explicar en que consiste.

* Cuando se utiliza un bucle se debe indicar la sentencia o, (si son varias) el bloque delimitado por llaves que sera ejecutado.

* Debes almacenar el resultado de llamar a la función "rand".

* También faltan las directivas de inclusión.

* Tampoco declaras las variables utilizadas.


Si al programa se le realizan todas esas correcciones su bucle principal sera mas o menos así:
Código
  1. for (int i = 0; i < lanzamientos; i++){
  2.   int rv = rand() % 2;
  3.   cout << rv << endl;
  4.  
  5.   if (rv == 1)
  6.      cara++;
  7.   else
  8.      cruz++;
  9. }

Un saludo


Título: Re: programa c++ que simule el lanzamiento de una moneda
Publicado por: swagger14 en 1 Marzo 2012, 17:35 pm
ok muchisima gracias



Título: Re: programa c++ que simule el lanzamiento de una moneda
Publicado por: Sagrini en 2 Marzo 2012, 23:48 pm
Código
  1. #include <stdio.h>
  2.  
  3. int main (int argc, char *argv [])
  4. { if (argc != 2) { printf ("Use: %s <num_lanzamientos>\n", argv [0]); return 1; }
  5. int moneda, i; srand (time (NULL)); int cara=0, cruz=0;
  6. for (i=1; i<=atoi (argv [1]); i++)
  7. { if (rand ()%2 == 0) { printf ("- Lanzamiento %03d : Cara [+]\n", i); cara++; }
  8. else { printf ("- Lanzamiento %03d : Cruz [-]\n", i); cruz++; }
  9. }
  10. printf ("\n%d caras, %d cruces : %d%c caras\n", cara, cruz, 100*cara/atoi (argv [1]), 37);
  11. return 0;
  12. }
  13.  
Este está en C, lo acabo de improvisar ;)