Interseccion de Dos Conjuntos [ Codigo en C++ ]



Se define la intersección de dos conjuntos A y B al conjunto de elementos que son comunes a A y B. Se denota por A B, que se lee: A intersección B. La intersección de A y B también se puede definir:

A . B = { x / x E A y x E B } y mediante un diagrama de Venn-Euler:



#include<iostream>
using namespace std;

int contador = 0;

int *Ingresar( int *A , int N)
{
A = new int [100];

for( int i = 0 ; i < N ; i++ )
{
cout<<"\n\t\t\t - ["<<i+1<<"] : ";
cin>>A[i];
}

return A;

}


int *Interseccion( int *A , int *B , int *C , int N ,int M )
{

C = new int [100];

for( int i = 0 ; i < N ; i++ )
for( int j = 0 ; j < M ; j++ )
if ( A[i] == B[j])
{
C[contador++] = A[i];
}

if ( contador == 0)
return 0;
else
return C;
}



void Mostrar( int *A , int N)
{

cout<<" "<<A[0];

for( int i = 1 ; i < N ; i++ )
cout<<" , "<<A[i];

}


int main()
{
system("color f0");

int N, M;

int *A = NULL;
int *B = NULL;
int *C = NULL;

cout<<"\n\n\t Primer Conjunto : ";
cin>>N;

A = Ingresar(A , N);
cout<<"\n\n\t\t A = { ";
Mostrar(A,N);
cout<<" } \n\n";


cout<<"\n\n\t Segundo Conjunto : ";
cin>>M;

B = Ingresar(B , M);
cout<<"\n\n\t\t B = { ";
Mostrar(B,M);
cout<<" } \n\n";


C = Interseccion( A , B , C , N , M );
cout<<"\n\n\t\t C = { ";
Mostrar(C,contador);
cout<<" } \n\n";

cout<<endl<<endl;
system("pause");
}
Siguiente
« Post Anterior

7 comentarios

Write comentarios
Anónimo
AUTHOR
10 de abril de 2013, 17:25 delete

este programa esta trabajando con nodos?

Reply
avatar
Anónimo
AUTHOR
28 de agosto de 2013, 12:46 delete

esos programas tienen mas de 100000000000000 errores.

Reply
avatar
Anónimo
AUTHOR
28 de agosto de 2013, 12:47 delete

esos programas tienen mas de 1000000000000000000 errores!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Reply
avatar
Anónimo
AUTHOR
13 de octubre de 2013, 9:40 delete

esta bienn el programamma

Reply
avatar
Anónimo
AUTHOR
13 de octubre de 2013, 9:48 delete

HOla. estoy estudiando programacion y me dejaron este mismo ejercicio pero todavia no entre a los que tu has avanzado, solo puedo usar el for y vectores, me podrias ayudar? veo que tu ejercicio esta bien y que corre en el dev c++ pero el mio noooo. pOr favor me ayudas???
/*Diseñar Programa tal que dado dos vectores (a y b) que
representan sendos conjuntos de números reales. determinar la interseccion con un vector
*/
#include
#include
using namespace std;
int main(int argc, char *argv[])
{
float A[50],B[50],U[100],In[50];
int i, nA, nB, j=0, k=0;
cout<<" PROGRAMA QUE DETERMINA LA UNION Y LA INTERSECCION DE DOS CONJUNTOS"<>nA;
cout<<" Ingrese los elementos del conjunto (vector) A: "<>nB;
cout<<" Ingrese los elementos del conjunto (vector) B: "<<endl;
//Ingreso de los elementos del vector B:
for(i=1; i<=nB; i++)
{
cout<<" B["<<i<<"]= ";cin>>B[i];
}
//Hallando la Intersección:
for(i=1;i<=nA; i++)
{
for(j=1; i<=nB; j++)
{
if(A[i] == B[j])
{
k=k+1;
In[k]=A[i];

}//fin del if
}//fin del for j=1
} //fin del for i=1

//Impresion de la Interseccion...
cout<<"\n Imprimiendo la interseccion de los elementos:"<<endl;

cout<<" A ^ B = {";
for(i=1; i<=k; i++)
{
cout<<In[i]<<";";
}
system("PAUSE");
return EXIT_SUCCESS;
}

Reply
avatar
Anónimo
AUTHOR
13 de octubre de 2013, 9:49 delete

ah ni nombre es VIVIANA

Reply
avatar
Anónimo
AUTHOR
8 de septiembre de 2021, 10:10 delete

Hola, como lo podria cambiar la funcion interseccion por union

Reply
avatar