Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: indict en 6 Diciembre 2012, 19:02 pm



Título: unión de dos conjuntos
Publicado por: indict en 6 Diciembre 2012, 19:02 pm
Hola,
podríais ayudarme a terminar este ejercicio. Es sobre calcular la unión de dos conjuntos. Ejemplo, A={3,2,5,7} y B={0,1,2,3}
Unión A y B = {0,1,2,3,5,7}

Código:
#include<iostream>
#include<vector>
using namespace std;

void leer_conjunto (vector<int>&c){
     int n,i=0;
     cin>>n;
     while (i<n){
           cin>>c[i];
           i=i+1;}
           
int main (){
    vector<int> A;
    vector<int> B;
    vector <int> resultado;
    leer.conjunto (A);
    leer.conjunto (B);


Título: Re: unión de dos conjuntos
Publicado por: Ferno en 6 Diciembre 2012, 20:09 pm
La idea es ir leyendo los dos vectores "al mismo tiempo".
Lees la primer posición de cada vector. Si A es menor a B, insertas A en el vector resultado y lees del vector A, sino, si B es menor a A insertas el elemento de B y lees la siguiente posición del vector B, sino, si son iguales, insertas solo UNO de los dos elementos, y lees de AMBOS vectores (porque no creo que debas tener dos elementos iguales).


Título: Re: unión de dos conjuntos
Publicado por: indict en 6 Diciembre 2012, 20:53 pm
pero no se como expresar la idea en c++. :(


Título: Re: unión de dos conjuntos
Publicado por: rir3760 en 7 Diciembre 2012, 02:40 am
pero no se como expresar la idea en c++. :(
La política de estos foros es ayudar, no terminar las tareas de los demás.

Ferno ya te dio una explicación sobre como, en lo general, enfrentar el problema. El siguiente paso te toca a ti: demostrar un esfuerzo significativo tratando de resolverlo.

Si a partir de ello te surgen dudas y/o preguntas sobre alguna parte del programa, encantados de ayudarte pero y disculpa lo repetitivo: el primero que se debe esforzar eres tu.

Un saludo


Título: Re: unión de dos conjuntos
Publicado por: indict en 8 Diciembre 2012, 00:04 am
La política de estos foros es ayudar, no terminar las tareas de los demás.
Perdona pero como dices "demostrar el esfuerzo" ya lo ice al publicar el post.
Ferno ya te dio una explicación sobre como, en lo general, enfrentar el problema.
Sobre lo que me dio una explicación, me parece perfecto pero yo también se explicar lo que el programa debe hacer. Si quieres colaborar explica o comenta que le falta al programa.

Un saludo.


Título: Re: unión de dos conjuntos
Publicado por: Ferno en 8 Diciembre 2012, 00:52 am
Perdona pero como dices "demostrar el esfuerzo" ya lo ice al publicar el post. Sobre lo que me dio una explicación, me parece perfecto pero yo también se explicar lo que el programa debe hacer. Si quieres colaborar explica o comenta que le falta al programa.

Un saludo.

A lo que va rir3760 es el hecho de que ya tienes todas las herramientas necesarias y los conocimientos suficientes para plasmar en el programa lo que expliqué. Ya no te hacen falta más respuestas y te explico por qué: En el code que posteaste ya codeaste un loop (while) y ya hiciste referencia a cada elemento del vector (c).
No hace falta más que un loop, tener los 3 vectores e ir leyendo con condiciones "if" anidadas (que, asumimos, si sabes hacer un loop, también sabes hacer un if).


Título: Re: unión de dos conjuntos
Publicado por: indict en 11 Diciembre 2012, 22:38 pm
A lo que va rir3760 es el hecho de que ya tienes todas las herramientas necesarias y los conocimientos suficientes para plasmar en el programa lo que expliqué. Ya no te hacen falta más respuestas y te explico por qué: En el code que posteaste ya codeaste un loop (while) y ya hiciste referencia a cada elemento del vector (c).
No hace falta más que un loop, tener los 3 vectores e ir leyendo con condiciones "if" anidadas (que, asumimos, si sabes hacer un loop, también sabes hacer un if).

¿que es un loop?


Título: Re: unión de dos conjuntos
Publicado por: Ferno en 12 Diciembre 2012, 02:59 am
¿que es un loop?

Un bucle for, while o do-while.