C/Visual C - adivinar un numero

 
Vista:

adivinar un numero

Publicado por javi (4 intervenciones) el 26/09/2003 10:49:46
Hola, estoy haciendo un programa para adivinar el numero que piensa el usuario, pero me he quedado a medias.
Si el numero esta comprendido entre 0 y 10, empiezo preguntando por cinco, si es mayor por siete,etc. Solo puedo preguntar si es mayor o menor.
Me pueden ayudar. Los numeros pueden estar comprendidos entre 0 y 20 o 0 y 50...

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:adivinar un numero

Publicado por Mar (7 intervenciones) el 26/09/2003 11:35:35
#DEFINE MIN 0
#DEFINE MAX 50

void main();
{

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:adivinar un numero

Publicado por Mar (7 intervenciones) el 26/09/2003 11:42:51
como veras lo anterior no era la respuesta.......sorry!!!

Supongo que n es el número que piensa la persona, imagino que tendrás que hacer pequeños ajuste pero esta idea funciona:

#DEFINE MIN 0
#DEFINE MAX 50

void main()
{
int x,n,izq,der;

x=0;izq=MIN; der=MAX;

While (x<>n)
{
x=(izq+der) DIV 2;
If (x>n)
izq=x
else
der=x
}
printf('El numero que piensas es: %d,x);
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:adivinar un numero

Publicado por javi (4 intervenciones) el 26/09/2003 11:51:39
Exacto!!! eso es lo que busco.
Cuando el minimo y el maximo sean iguales, ese es el numero.
Pero tengo el algoritmo hecho a mano y siempre me quedo en el ultimo paso.
Ej: si estoy pensando el 4. me quedo con min=3 y max=4, la mitad seria 3,5. y siempre se queda ahi porque si redondea a 4, no es mayor y vuelve a ser min=3 y max=4. Y si redondea a 3, es mayor que es min=3 y max=4 y siempre igual...
No se si me explico bien...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:adivinar un numero

Publicado por Mar (7 intervenciones) el 26/09/2003 13:06:41
Prueba con esto:

If (x<n)
der=x-1
else
izq=x (*o sino x+1*)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:adivinar un numero

Publicado por javi (4 intervenciones) el 26/09/2003 14:01:01
Si, asi sí que funciona!!!
Muchas gracias!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar