unión de dos conjuntos

Iniciado por indict, 6 Diciembre 2012, 19:02 PM

0 Miembros y 1 Visitante están viendo este tema.

indict

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}

#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);

Ferno

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).

indict

pero no se como expresar la idea en c++. :(

rir3760

Cita de: indict en  6 Diciembre 2012, 20:53 PM
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
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

indict

Cita de: rir3760 en  7 Diciembre 2012, 02:40 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.
Cita de: rir3760 en  7 Diciembre 2012, 02:40 AM
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.

Ferno

Cita de: indict en  8 Diciembre 2012, 00:04 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).

indict

Cita de: Ferno en  8 Diciembre 2012, 00:52 AM
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?

Ferno