Comparar los dígitos de un numero

guessiam
17 de Octubre del 2003
Hola.

Lo que quiero hacer es un programa donde ponga un número decimal de 5 digitos (ej. 0.85963) y comparar los dígitos que tiene ese número, como en el Poker

Por ejemplo si tengo el número:

0.25855 veo que tengo tres "5" entonces es una tercia
0.12345 veo que todos los números son diferentes y no tengo nada
0.41444 veo que tengo cuatro "4" entonces es poker.

Como podría hacer esto en el c++.

Gracias





Pigma
17 de Octubre del 2003
Lo primero que podrías hacer es separar los números, puedes multiplicarlo por 10, 100, y así y redondearlo y meterlo en un array, así tendrás los números por separado.

Después puedes construir un bucle for dentro de otro para ir recorriendo el array y poder comparar los números y así efectuar la acción que creas conveniente.

Bye

chuidiang
17 de Octubre del 2003
Una opción es la que te dice Pigma.

Otra opción es convertirlo en cadena

float variable = 0.54678;

char cadena [10]; /* Pones un tamaño adecuado */

sprintf (cadena, "%8.5f", variable); /* Convierte el número a cadena con 8 caracteres de los cuales 5 son decimales, es decir, <signo>0.<5decimales> */

Ahora puedes comparar caracteres dentro de la cadena

Se bueno.