Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: marceegallina en 1 Mayo 2019, 00:03 am



Título: AYUDA! C
Publicado por: marceegallina en 1 Mayo 2019, 00:03 am
Buenas tardes amigos, les comento me dieron un trabajo practico en la facultad en el que tengo que desarollar un juego adivinador en el cual el usuario tenga que adivinar el numero que la computadora elija el cual tenga 4 niveles de dificultad: newbie,normal,dificil y extremo,  que tienen diferetendes chances de acertar el numero que va del 0 al 100.

En un arreglo se almacenarán los números que ya ingresó el
usuario, esto servirá para evitar que el usuario vuelva a ingresar
un número que ha elegido anteriormente, por lo que si el usuario
ingresa un valor repetido, se le debe pedir otro y no cuenta como
intento.
○ Uso de constantes, para el rango de valores y las vidas
dependiendo el nivel.
el enunciado del mismo :
https://ibb.co/k6TCBB1 (https://ibb.co/k6TCBB1)
 
bueno mi consulta esta en que no puedo hacer el arreglo para que cuando el usuario ingrese un numero que ya ingreso le aparezca un cartel que diga que ese numero ya lo ingreso. mi codigo esta algo asi:
  
https://ibb.co/rKjjnh8 (https://ibb.co/rKjjnh8)
 es solamente el comienzo del mismo
espero poder recibir ayuda desde ya muchisimas gracias saludos cordiales Marcelo


Título: Re: AYUDA! C
Publicado por: K-YreX en 1 Mayo 2019, 00:36 am
Si quieres comprobar si un valor ya existe en un array, tienes que comparar ese elemento con cada uno de los elementos del array. Para mejorar la eficiencia puedes crear una variable de tipo <bool> para dejar de recorrer el array cuando ya lo has encontrado. Por ejemplo:
Código
  1. for(size_t i = 0; i < size and !encontrado; ++i)
  2.    if(v[i] == elemento_buscado)
  3.        encontrado = true;


Título: Re: AYUDA! C
Publicado por: MAFUS en 1 Mayo 2019, 00:50 am
Te diría de crear un array de bools de 101 elementos (que irá desde el 0 hasta el 100 a.i.).
Cuando el usuario ingrese un número en ese rango irá directamente al array a la posición indicada. Si es false lo cambiará a true e indicará si ha acertado o fallado. Si es true indicará que el número ya ha sido usado.