Anda di halaman 1dari 2

#include<iostream>

using namespace std;


void leerArreglo(int a[], int c)
{
int i;
for(i=0;i<c;i++)
{
cout<<"Ingrese el elemento "<<i+1<<": ";
cin>>a[i];
}
}
void escribirArreglo(int a[], int c)
{
int i;
for(i=0;i<c;i++)
{
cout<<"Elemento a["<<i<<"]="<<a[i]<<endl;
}
}
bool encontrado(int arr[],int cant, int num)
{
bool fueEncontrado=false;
int c;
c=0;
while(c<cant && !fueEncontrado)
{
if(arr[c]==num)
{
fueEncontrado=true;
}
c=c+1;
}
return fueEncontrado;
}
int unirArreglos(int arr1[],int c1, int arr2[], int c2, int res[])
{
int i,k=0;
bool estaEncontrado;
for(i=0;i<c1;i++)
{
estaEncontrado = encontrado(res,k,arr1[i]);
if(!estaEncontrado)
{
res[k]=arr1[i];
k=k+1;
}
}
for(i=0;i<c2;i++)
{
estaEncontrado = encontrado(res,k,arr2[i]);
if(!estaEncontrado)
{
res[k]=arr2[i];
k=k+1;
}

}
return k;
}
int intersectarArreglos(int arr1[],int c1, int arr2[], int c2, int res[])
{
int i,j,k=-1;
bool estaEncontrado;
for(i=0;i<c1;i++)
{
for(j=0;j<c2;j++)
{
if(arr1[i]==arr2[j])
{
estaEncontrado = encontrado(res,k+1,arr1[i]);
if(!estaEncontrado)
{
k=k+1;
res[k]=arr1[i];
}
}
}
}
return k+1;
}
int main (int argc, char *argv[]) {
int a1[50],a2[50];
int m,n;
int u[50],inter[50];
int cant;
cout<<"Ingrese la cantidad de elementos del primer arreglo ";
cin>>m;
leerArreglo(a1,m);
cout<<"Ingrese la cantidad de elementos del segundo arreglo ";
cin>>n;
leerArreglo(a2,n);
cant=unirArreglos(a1,m,a2,n,u);
cout<<"La unin es "<<endl;
escribirArreglo(u,cant);
cant=intersectarArreglos(a1,m,a2,n,inter);
cout<<"La interseccin es "<<endl;
escribirArreglo(inter,cant);
return 0;
}

Anda mungkin juga menyukai