#include <iostream>
#include <cstdlib>
#include <time.h>
#include <stdlib.h>
using namespace std;
void Union();
void concatenacion();
void menu();
int main(int argc, char** argv) {
int opcion;
do{
cout<<"\n ::::MENU::::"<<endl;
cout<<"1.-OPERACIONES DE UNION"<<endl;
cout<<"2.-CONCATENACION"<<endl;
cout<<"3.-SALIR"<<endl;
cout<<"ELIGE UNA OPCION"<<endl;
cin>>opcion;
switch (opcion){
case 1:
Union();
break;
case 2:
concatenacion();
case 3:
cout<<"SALIR"<<endl;
default:
cout<<"LA OPCION NO ES VALIDA"<<endl;
break;
}
}
while(opcion!=3);
return 0;
}
void Union(){
int a[10],b[10],x,y,uni[20],inte[10],ab,j,h;
cout<<"INGRESE LA CANTIDAD DE ELEMENTOS DEL CONJUNTO A-->MAYORES A 0 Y MENORES O IGUAL A 10 "<<endl;
cin>>x;
while(x<=0||x>=10){
cout<<"INGRESE CANTIDAD DE ELEMENTOS DEL CONJUNTO A-->MAYORES A 0 Y MENORES O IGUALES A 10"<<endl;
cin>>x;
}
a[1]=x;
cout<<"INGRESE CANTIDAD DE ELEMENTOS DEL CONJUNTO B-->MAYORES A 0 Y MENORES O IGUALES A 10"<<endl;
cin>>y;
while(y<=1||y>=10){
cout<<"INGRESE CANTIDAD DE ELEMENTOS DEL CONJUNTO B-->MAYORES A 0 Y MENORES O IGUALES A 10"<<endl;
cin>>y;
}
b[1] = y;
for(int i=0;i<x;i++) {
cout<<"INGRESE EL ELEMENTO["<<i<<"]DEL CONJUNTO A:"<<endl;
cin>>a[i];
}
for(int z=0;z<y;z++)
{
cout<<"INGRESE EL ELEMENTO["<<z<<"]DEL CONJUNTO B:"<<endl;
cin>>b[z];
}
ab=x+y;
j=0;
h=1;
for (int i=0;i<ab;i++)
{
uni[j]=a[i];
uni[h]=b[i];
j=j+2;
h=h+2;
}
cout<<"LA UNION ES:"<<endl;
for (int i=0;i<ab;i++)
{
cout<<uni[i];
}
}
void concatenacion(){
char concatenacion(char A[], char B[]);
void operacion_letras(char A[],char B[],int,int);
double operacion_numeros(int A[], int B[],int,int);
int noelemtos;
int tipoleng;
cout<<"\t CONCATENACION DE 2 CONJUNTOS \n \n";
cout<<"\t SELECCIONA LA OPCION 1\n1) Numeros"<<endl;
cin>>tipoleng;
if(tipoleng==1){
int noA,noB;
cout<<"NUMEROS DE ELEMENTOS PARA EL CONJUNTO A?"<<endl;
cin>>noA;
cout<<"NUMERO DE ELEMENTOS PARA EL CONJUNTO B?"<<endl;
cin>>noB;
char conjuntoa[noA],conjuntob[noB];
cout<<"INGRESA LOS ELEMENTOS PARA EL CONJUNTO A"<<endl;
for(int i=0; i<noA; i++){
cin>>conjuntoa[i];
}
cout<<"INGRESA LOS ELEMENTOS PARA EL CONJUNTO B"<<endl;
for(int j=0; j<noB; j++){
cin>>conjuntob[j];
}
cout<<"A={\t";
for(int k=0; k<noA; k++){
cout<<conjuntoa[k]<<"\t";
}
cout<<"}";
cout<<endl;
cout<<"B={\t";
for(int l=0; l<noB; l++){
cout<<conjuntob[l]<<"\t";
}
cout<<"}";
operacion_letras(conjuntoa,conjuntob,noA,noB);
}
if(tipoleng==2){
int noA,noB;
cout<<"\t INSERTA NUMEROS DISTINTOS A 0 \n"<<endl;
cout<<"NUMEROS DE ELEMENTOS DEL CONJUNTO A"<<endl;
cin>>noA;
cout<<"NUMEROS DE ELEMENTOS DEL CONJUNTO B"<<endl;
cin>>noB;
int conjuntoa[noA],conjuntob[noB];
cout<<"NUMEROS DEL CONJUNTO A"<<endl;
for(int i=0; i<noA; i++){
cin>>conjuntoa[i];
if(conjuntoa[i]<1){
cout<<"LA CADENA QUE INTRODUCISTE EMPIEZA CON 0----INGRESA OTROS NUMEROS DIFERENTES A 0 \n"<<endl;
cin>>conjuntoa[i];
}
}
cout<<"ELEMENTOS DEL CONJUNTO B"<<endl;
for(int j=0; j<noB; j++){
cin>>conjuntob[j];
if(conjuntob[j]<1){
cout<<"LA CADENA QUE INTRODUCISTE EMPIEZA CON 0----INGRESA OTROS NUMEROS DIFERENTES A 0 \n"<<endl;
cin>>conjuntob[j];
}
}
cout<<"A={\t";
for(int k=0; k<noA; k++){
cout<<conjuntoa[k]<<",";
}
cout<<"}";
cout<<endl;
cout<<"B={\t";
for(int l=0; l<noB; l++){
cout<<conjuntob[l]<<",";
}
cout<<"}";
cout<<operacion_numeros(conjuntoa,conjuntob,noA,noB);
}
}
void operacion_letras(char A[], char B[],int noa, int nob){
cout<<endl<<endl;
int contador=0;
cout<<"CONCATENACION::::::={\t";
while(contador != noa){
for (int b=0; b<nob; b++){
cout<<A[contador]<<B[b]<<",";
}
contador++;
}
cout<<"}";
int mayor;
if(noa<=nob){
mayor=nob;
}
else{
mayor=noa;
}
int numero=0;
while(numero!=mayor){
for (int d=0; d<mayor; d++){
if(A[numero]== B[d]){
B[d]=0;
}
}numero++;
}
cout<<endl;
}
double operacion_numeros(int A[],int B[],int noa,int nob){
cout<<endl<<endl;
int contador=0;
cout<<"CONCATENACION:::::={\t";
while(contador != noa){
for (int b=0; b<nob; b++){
cout<<A[contador]<<B[b]<<",";
}
contador++;
}
cout<<"}";
int mayor;
if(noa<=nob){
mayor=nob;
}
else{
mayor=noa;
}
int numero=0;
while(numero!=mayor){
for (int d=0; d<mayor; d++){
if(A[numero]== B[d]){
B[d]=0;
}
}numero++;
}
cout<<endl;
}