Título: ayuda con la eliminacion de elementos repetidos en un vector en c++ Publicado por: abejaatareada en 11 Mayo 2016, 06:49 am hola.. por favor quisiera saber como genero numeros manualmente pero llegado el caso que repita el programa me indique que lo he hecho y pues que lo elimine.. es decir que me genere en otro vector los numeros sin repeticiones.
llevo esto (se que no es mucho): Código
Mod: Los códigos deben ir en etiquetas GeSHi, no debes escribir en mayúsculas Título: Re: ayuda con la eliminacion de elementos repetidos en un vector en c++ Publicado por: class_OpenGL en 11 Mayo 2016, 07:07 am Este código no es el mejor que he visto. No sé si sonará demasiado duro, pero este código es un poquito chapucero. Primero, aunque le pides al usuario que indique el tamaño del vector, si este excede un tamaño de 15, el programa probablemente te lance un error. Segundo, el código es imposible que compile pues tiene dos errores (que yo haya percibido). El más grave que he visto es que intentas acceder a los elementos del arreglo 'v1' con paréntesis, y se hace con corchetes (el otro es que no incluyes las librerías pertinentes).
No sé si lo que voy a decir ahora es cierto, pero no parece que lo hayas intentado. Aun así, te aconsejo que declares un segundo vector (por ejemplo, v2) del mismo tamaño que el 'v1' y que le añadas los elementos de v1. A medida que vayas añadiendo elementos al v2, comprueba si el elemento que vas a añadir está en v2; si lo está, entonces no lo insertes. Título: Re: ayuda con la eliminacion de elementos repetidos en un vector en c++ Publicado por: kgarcia994 en 11 Mayo 2016, 12:43 pm Hola buenas,
Primero de todo, queria decirte que, como bien dice nuestro compañero class_OpenGL, el codigo en si tiene un error bastante grave a la hora de declarar el vector. Ya que le dices que es de tamaño 15. Pero si el usuario introduce 20, el bucle for ara 20 vueltas, es decir v1[16]por ejemplo, te petaria el programa porque la posicion 16 no existe Seguidamente. no se si he entendido bien tu pregunta. He entendido que quieres crear un vector de enteros, en el qual vas introduciendo numeros sin que se repitan, es decir que si quieres introducir un 2 y ya esta introducido, cree un vector con los numeros sin repetir. Si es lo que he entendido, yo creo que es mas facil hacer una busqueda de los numeros ya introducidos y mirar si el que quieres introducir esta o no. En caso de que este no se lo dejas introducir y le vuelves a pedir otro numero. Te dejo aqui el codigo que he echo suponiendo que he entendido bien tu pregunta. Código:
Título: Re: ayuda con la eliminacion de elementos repetidos en un vector en c++ Publicado por: Orubatosu en 11 Mayo 2016, 13:22 pm Lo he dicho muchas veces, pero soy un pesado.
En C++, llama a estas construcciones "arreglos" o "array" o "matriz" si lo prefieres, pero no vector. Vector en C++ es un contenedor de la STL, que se usa con la librería del mismo nombre. De hecho un "vector" en C++ no tiene un tamaño predefinido, es una de sus grandes ventajas, que puedes añadir o quitar elementos del mismo tranquilamente Título: Re: ayuda con la eliminacion de elementos repetidos en un vector en c++ Publicado por: kgarcia994 en 11 Mayo 2016, 13:39 pm Toda la razon del mundo, es un array de enteros lo que el queria crear, lapsus mio jajaja , al leer en su mensaje vector me ha confundido al explicarse-lo, pero asi supongo que lo entendera.
Y como bien dices, los vectores son dinamicos, por lo cual puedes ir añadiendo numeros y quitando a tu voluntad, sin limite de espacio. Como vuelvo a decir, ha sido fallo mio al leerle vector :silbar: |