Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: r2montero en 03 de Septiembre 2016, 18:14

Título: Ayuda con union de conjuntos en arreglo Java sin que se puedan repetir números
Publicado por: r2montero en 03 de Septiembre 2016, 18:14
Hola a todos!

Podrían darme una idea de como resolver este ejercicio? no quiero que me lo den resuelto, eso no tiene gracia, lo que pido es que alguien me de una idea de como arrancar...

Saludos!

Citar
Un método llamado setUnion que recibe un segundo vector por parámetro. Deberá devolver un String con la unión de los 2 conjuntos (atributo y parámetro). La unión de dos conjuntos son todos los elementos todos los elementos de los 2 conjuntos(vectores) juntos (sin repetidos por teoría de conjuntos). 
      Por ejemplo
         Vector 1:    [1, 4, 8, 90, 10, 5, 7]
         Vector 2:    [4, 6, 8, 10, 23]
         Devuelve:   “1 4 8 90 10 5 7, 6, 23”
Título: Re:Ayuda con union de conjuntos en arreglo Java sin que se puedan repetir números
Publicado por: César Krall en 09 de Septiembre 2016, 09:25
Hola!

Una posible idea.

Como el ejercicio dice "que recibe un segundo vector", lo primero que deberás es tener una clase Vector con un atributo vector ( o también puedes llamarlo vector1).

Es un poco extraño que te pidan "Deberá devolver un String con la unión de los 2 conjuntos" porque lo normal es trabajar con números, ya que se trata de valores numéricos, por lo tanto lo normal será que el vector sea de valores numéricos (int por ejemplo), y solo luego al final lo cambies por un String.

Suponiendo que trabajamos en Java, el planteamiento podría ser:

public String setUnion (int[] vector1) {

int [] vectorNuevo = new int[vector1.length + vector2.length];
int elementosTotalesEnNuevoVector = 0; //Para contar
 

for (int i=0; i< vector1.length; i++) {
   for (int j=0; j<vector.length; j++){
   Comparar los el elemento del vector1 con todos los elementos del vector2.
   Si el elemento ya existe, no hacemos nada, si existe, lo añadimos al vectorNuevo y sumamos 1 a elementosTotalesEnNuevoVector
}
}

}

Ahora ya tenemos los elementos nuevos en el vector vectorNuevo y sabemos el número de elementos válidos en este vector. El paso final será quedarnos con el vector nuevo recortado eliminando los elementos que sobran, esto podemos hacerlo usando la clase Arrays del api de Java

Finalmente creamos un String a partir del contenido del array nuevo para lo que podemos usar el método toString de la clase Arrays

Si lo resuelves pon el código a ver cómo quedó

Saludos!