elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / PROGRAMA DADOS LOCOS en: 11 Noviembre 2021, 12:59 pm
QUE ALGUIEN ME AYUDE!!!!! Tengo que hacer un programa para clase y es de dados locos. el titulo es este: El  juego  de  los  dados  locos  funciona  así:  se  lanzan  dos  dados  y  se  suman  sus  puntuaciones;  cuando  el 
resultado es 8 o 9 se gana y cuando es 2, 7 o 12 se pierde. En los demás casos se repite el lanzamiento de la
pareja de dados, hasta que sale un 8 o 9 (con la que se pierde) o de nuevo obtenemos la suma inicial (con la
que se gana).  Escribe un programa que simule tantas partidas como el usuario desee al final del programa  y calcule la probabilidad de ganar
(es decir, la frecuencia relativa que se obtiene al dividir el número de partidas ganadas entre el total de las partidas
jugadas).
HASTA AHÍ BIEN, HE HECHO TODO EL PROGRAMA Y ESTA BIEN PERO CUANDO LLEVO MAS DE DOS PARTIDAS Y LA SUMA TOCA UN 5 O 6 O 4 SE PARA Y NO ME CUENTA COMO PARTIDA GANADA O PERDIDA YA QUE SOLO PUEDE HABER DOS OPCIONES.
ALGUN ALMA CARITATIVA QUE PUEDA AYUDARME PORFAVOR.


#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;
int main()
{
   srand(time(NULL));
   int numDado1, numDado2,numSumaI=0,numSuma=0,partidas,iteracion=0;
   double probP=0,probG=0,ganar=0, perder=0;
   char res;
   do
   {
      numDado1=1+rand()%(6-1+1);
      numDado2=1+rand()%(6-1+1);
      cout<<"Numero 1: "<<numDado1<<endl;
      cout<<"Numero 2: "<<numDado2<<endl;
      numSumaI=numDado1+numDado2;
      cout<<"La Suma: "<<numSumaI<<endl;
      if(numSumaI==8||numSumaI==9)
      {
         cout<<"Enorabuena, has ganado"<<endl;
         ganar++;
      }
      else
      {
         if(numSumaI==2||numSumaI==7||numSumaI==12)
         {
            cout<<"Pringao, has perdido"<<endl;
            perder++;
         }
         else
         {
            if(numSumaI==3||numSumaI==4||numSumaI==5||numSumaI==6||numSumaI==10||numSumaI==11)
            {
               while(iteracion==0)
               {
                  cout<<"Tiro otra vez los dados"<<endl;
                  numDado1=1+rand()%(6-1+1);
                  numDado2=1+rand()%(6-1+1);
                  cout<<"Numero 1: "<<numDado1<<endl;
                  cout<<"Numero 2: "<<numDado2<<endl;
                  numSuma=numDado1+numDado2;
                  cout<<"La Suma: "<<numSuma<<endl;
                  if(numSuma==8||numSuma==9)
                  {
                     cout<<"Pringao, has perdido"<<endl;
                     perder++;
                     iteracion++;
                  }
                  if(numSuma==numSumaI)
                  {
                     cout<<"Enorabuena, has ganado"<<endl;
                     ganar++;
                     iteracion++;
                  }
               }
            }
         }   
      }
      cout<<"Quieres volver a jugar. Pulsa s para continuar ";
      cin>>res;
      partidas++;
   }while(res=='s');
   probG=ganar/partidas*100;
   probP=perder/partidas*100;
   cout<<"Partidas ganadas = "<<ganar<<endl;
   cout<<"Partidas perdidas = "<<perder<<endl;
   cout<<"Partidas totales = "<<partidas<<endl;
   cout<<"Tu probabilidad de ganar es: "<<probG<<"%"<<endl;
   cout<<"Tu probabilidad de perder es: "<<probP<<"%";
   return 0;
}
2  Programación / Programación C/C++ / Duda de un programa en: 1 Noviembre 2021, 20:53 pm
Hola buenas estoy ingresando por primera vez en la programacion de c++ y tengo un programa resuelto y bien hecho sobre los cien primeros numeros omirp. Pero hay una parte del codigo que no la entiendo.


Código
  1. #include<iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. int num, omirp, aux2, a, b;
  6. double aux, numIm;
  7. a=1;
  8. b=2;
  9. while(b<=100)
  10. {
  11. num=a;
  12. numIm=0;
  13. for(int i=1;num>0;i++)
  14. {
  15. aux=num%10;
  16. num=num/10;
  17. numIm=numIm+aux/10;
  18. numIm=numIm*10;
  19. }
  20. omirp=0;
  21. aux2=numIm;
  22. for(int j=2;j<numIm;j++)
  23. {
  24. if(aux2%j==0)
  25. {
  26. omirp=1;
  27. }
  28. }
  29. if(omirp==0)
  30. {
  31. cout<<endl<<b<<" "<<a<<"/"<<numIm;
  32. b++;
  33. }
  34. a++;
  35. }
  36. return 0;
  37. }

El prgrama es este pero no me queda claro como funciona el primer bucle for, podria alguien ayudarme por favor. muchas gracias.

MOD: Etiqueta GeSHi
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines