Duda de probabilidad de pasarse

Iniciado por HectorSersi, 12 Diciembre 2018, 23:21 PM

0 Miembros y 1 Visitante están viendo este tema.

HectorSersi

Hola, tengo que hacer que la máquina se ha vuelto más prudente y se plantará cuando su puntuación sea superior a la del humano o, en caso de que estén empatados, si la probabilidad de pasarse supera el 50%.


He creado esto pero no se para cuando la probabilidad de pasarse es mayor a un 50%.

Código (cpp) [Seleccionar]
bool esProbablePasarse(double puntosMaquina, const tCartasPorAparecer cartas)
{
int variable = 0, variable2 = 0;
bool pasarse,probabilidad;
double dato = 7.5 - puntosMaquina;

for (int i = 0; i < 8; i++)
{
variable = variable + cartas[i];
variable2 = cartas[i] + variable2;
}


probabilidad = variable / variable2;

if (probabilidad < 0.5)
{
pasarse = false;
}
else
pasarse = true;

return pasarse;
}

K-YreX

<variable> y <variable2> van a terminar con el mismo valor. Además:
Código (cpp) [Seleccionar]

int variable = 10, variable2 = 3;
double probabilidad = variable / variable2;
// probabilidad vale 3, no 3'3

Si haces una división de dos enteros, el resultado se convierte en un entero.
Para que el resultado sea un <double> tienes que hacer al menos uno de los operandos de tipo <double> o hacer un typecast:
Código (cpp) [Seleccionar]

probabilidad = (double)variable / variable2;
Código (cpp) [Seleccionar]

cout << "Todos tenemos un defecto, un error en nuestro código" << endl;