Jump to content

Solución a un problema (Programación Java)


Recommended Posts

Hola chicos, he estado estudiando para una prueba que tengo, en un problema hay un proceso que no logro concretar, sobre la verificacion de un numero ingresado.

 

No se repita un número, si ya hay un n° no se puede elegir el mismo n° e imprimir los n° disponibles (los no usados ingresado). Llevo un par de horas intentando de encontrar esta solucion pero no doy, y estoy contra el tiempo con todas las pruebas que tengo...

 

No les pido precisamente que lo agan, si no que me expliquen o me den una idea de como de como resolverlo.

 

Saludos!

 

PD: Problema con vectores.

 

Link to comment
Share on other sites

No entendi mucho la idea, pero comprendi de que tienes un vector, el cual no puede tener numeros repetidos y a la vez debe imprimir por pantalla los numeros disponibles dentro del vector, los cuales no han sido usado en alguna funcion.

El de comprobar que el numero no se repita dentro del vector es trivial, con algun auxiliar recorres el vector y compruebas que el auxiliar nunca es igual al nuevo numero que es ingresado, si es asi se ingresa, para el otro caso yo crearia otro vector del mismo largo del otro vector, y lo lleno con puros 0, y cuando el numero del primer vector haya sido usado, transformo en el otro vector de 0 a 1, es decir, si trabajo con el numero que esta en la casilla 4, cambia el valor de 0 a 1 a la casilla 4 del otro vector, entonces voy comprobando, si es que la casilla tiene un 0, imprimo el numero en la misma casilla del otro vectorm y asi hasta llegar al final.

Espero que haya entendido bien el problema, porque asi resulta bastante sencillo :)

Link to comment
Share on other sites

Validar que no se repita un número, si ya hay un numero usado, no puede elegirse el mismo.

Imprimir por pantalla los numeros disponibles.

 

(Los numeros son ingresados por el usuario)

 

Eso, es usando vectores. He estado proponiendo para esta solución, 2 vectores diferentes (el que guarda los numeros y el que compara si esta repetido). Hay le estamos dando duro, aunque es un ejercicio tipo prueba para mis eestudios, necesito ganarle a esta cuestión!

 

Saludos

Edited by Gronefds
Link to comment
Share on other sites

Te aconsejo que utilices una función aparte que reciba el numero ingresado y el arreglo en el que guardas los números, y que verifique si este ya fue ingresado al arreglo y que retorne un boolean como resultado, es decir:

 

public boolean revisa(int []arr,int valor){

//arr.length!=0

int i=0;

while(valor!=arr){

i++;

}

if(i==arr.length){

return false; //significa que se recorrio todo el arreglo y no se encontro una coincidencia del numero

}

return true;

}

 

eso lo llamas dentro de tu main por cada vez que leas un numero y lo quieras ingresar a tu arreglo.

Creo que no estas estudiando la eficiencia de los algoritmos por ende no deberias tener problema con esto.

 

Ojala Te Sirva... :bravo:...Saludos!

Edited by naranjo991
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...