Gronefds Posted May 17, 2011 Report Share Posted May 17, 2011 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 More sharing options...
Sting_Master Posted May 17, 2011 Report Share Posted May 17, 2011 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 More sharing options...
Gronefds Posted May 17, 2011 Author Report Share Posted May 17, 2011 (edited) 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 May 17, 2011 by Gronefds Link to comment Share on other sites More sharing options...
naranjo991 Posted May 18, 2011 Report Share Posted May 18, 2011 (edited) 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 May 18, 2011 by naranjo991 Link to comment Share on other sites More sharing options...
Gronefds Posted May 19, 2011 Author Report Share Posted May 19, 2011 Muchas gracias a ambos, se pasaron, gracias por la ayuda. Se cuidan . PD: Pueden cerrar el tema si quieren. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now