//OPERACIONES CON CONJUNTOS
#include "iostream.h"
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
void dos();
void tres();
void cuadro();
char num1[10],num2[10],num3[10],num4[10];
int i=0,y=0,j=0,k=0,z=0,w=0,bool=0;
int *opc;
int zz=0, ww=0,kk=0,jj=0;
void main()
{
cuadro();
gotoxy(20,5); textcolor(LIGHTGREEN); cprintf("TECNOLOGICO DE ESTUDIOS SUPERIORES DE JOCOTITLAN");
gotoxy(30,10); textcolor(LIGHTMAGENTA); cprintf("TEORIA DE LA COMPUTACION");
gotoxy(35,12); textcolor(LIGHTCYAN); cprintf("PROYECTO #2");
gotoxy(30,16); textcolor(BROWN); cprintf("M. Vicente Rodal Jimenez");
gotoxy(25,25); textcolor(LIGHTCYAN); cprintf("Presentan:");
gotoxy(35,25); textcolor(BROWN); cprintf("Luis Abel Salazar Rodriguez");
gotoxy(35,27); textcolor(BROWN); cprintf("Edith Morales Garcia");
gotoxy(35,34); textcolor(LIGHTCYAN); cprintf("ISC-401");
gotoxy(40,40); textcolor(BROWN); cprintf("Jocotitlan, Mex. a 03 de Abril de 2009");
getch();
do
{
z=0,w=0,zz=0,ww=0;
clrscr();
cuadro();
gotoxy(20,3); textcolor(LIGHTGREEN); cprintf("BIENVENIDO AL PROGRAMA DE CONJUNTOS");
gotoxy(10,8); textcolor(BROWN); cprintf("ELIJE LA OPCION");
gotoxy(12,11); textcolor(LIGHTCYAN); cprintf("1.- Dos Conjuntos");
gotoxy(12,13); textcolor(LIGHTCYAN); cprintf("2.- Tres Conjuntos");
gotoxy(12,15); textcolor(LIGHTCYAN); cprintf("3.- Salir"); gotoxy(12,17);
scanf("%d",&*opc);
switch(*opc)
{ case 1: dos();
break;
case 2: tres();
break;
case 3:clrscr();
gotoxy(25,20);textcolor(LIGHTMAGENTA); cprintf("GRACIAS POR INGRESAR AL PROGRAMA.....");
getch(); exit(1);
break;
default:gotoxy(12,18); textcolor(LIGHTCYAN); cprintf("...Error opcion invalida");
break;
}//fin switch
}while(*opc!=3); //fin do
getch();
}//fin del main
//----------------------PARA DOS CONJUNTOS-----------------------------
void dos()
{
clrscr();
cuadro();
gotoxy(20,3); textcolor(LIGHTGREEN); cprintf("OPERACIONES CON DOS CONJUNTOS");
gotoxy(5,6);textcolor(LIGHTMAGENTA);cprintf("DAME DATOS PARA EL CONJUNTO A ");
y=8;
for(i=1;i<=10;i++)
{
gotoxy(5,y);
textcolor(LIGHTBLUE);cprintf("ELEMENTO ");printf("%d:",(i));
scanf("%s",&num1[i]);
y++;
}
//para el conujunto 2
gotoxy(5,21);textcolor(LIGHTCYAN);cprintf("DAME DATOS PARA EL CONJUNTO B ");
y=23;
for(i=0;i<10;i++)
{
gotoxy(5,y);
textcolor(LIGHTBLUE);cprintf("ELEMENTO ");printf("%d:",(i+1));
scanf("%s",&num2[i]);
y++;
}
getch();
///////////////conjuntos
clrscr();
cuadro();
gotoxy(20,3); textcolor(LIGHTGREEN); cprintf("DATOS DE LOS CONJUNTOS INGRESADOS");
gotoxy(5,7);textcolor(LIGHTCYAN);cprintf("Datos del conjunto A= { ");
for(i=1;i<=10;i++)
{
cout<<num1[i]<<",";
// printf("%s,",num1[i]);
}
textcolor(LIGHTCYAN);cprintf("}");
gotoxy(5,10);textcolor(LIGHTCYAN);cprintf("Datos del conjunto B= { ");
for(i=0;i<10;i++)
{
cout<<num2[i]<<",";
//printf("%s,",num2[i]);
}
textcolor(LIGHTCYAN);cprintf("}");
//HACIENDO CALCULOS
gotoxy(20,15); textcolor(LIGHTGREEN); cprintf("OPERACIONES CON LOS CONJUNTOS");
gotoxy(10,18);textcolor(LIGHTRED);cprintf("Interseccion:");
gotoxy(12,20);textcolor(YELLOW);cprintf("A n B= { ");
for(i=0;i<10;i++)
{
bool=1;
for(int j=0;j<10;j++)
{
if(num1[i]==num2[j])
{
for(k=0;k<=w;k++)
{
if(num1[i]==num4[k])
bool=0;
}
if(bool==1)
{
num4[w]=num1[i];
w++;
}
}
}
}
for(i=0;i<w;i++)
{ cout<<num4[i]<<",";
//printf("%s,",num4[i]);
} textcolor(YELLOW);cprintf("}");
gotoxy(10,25);textcolor(LIGHTRED);cprintf("Union:");
gotoxy(12,27);textcolor(YELLOW);cprintf("A U B= { ");
for(i=0;i<10;i++)
{
bool=1;
for( j=0;j<=z;j++)
{
if(num1[i]==num3[j])
{
bool=0;
}
}
if(bool==1)
{
num3[z]=num1[i];
z++;
}
}//FIN FOR
for(i=0;i<10;i++)
{
bool=1;
for(int j=0;j<=z;j++)
{
if(num2[i]==num3[j])
{
bool=0;
}
}
if(bool==1)
{
num3[z]=num2[i];
z++;
}
}
for(i=0;i<z;i++)
{ cout<<num3[i]<<",";
//printf("%s,",num3[i]);
} textcolor(YELLOW);cprintf("}");
getch();
}
//----------------------PARA TRES CONJUNTOS-----------------------------
void tres()
{
char num5[10],num6[10],num7[30];
clrscr();
cuadro();
gotoxy(20,3); textcolor(LIGHTGREEN); cprintf("OPERACIONES CON TRES CONJUNTOS");
gotoxy(5,6);textcolor(LIGHTMAGENTA);cprintf("DAME DATOS PARA EL CONJUNTO A ");
y=8;
for(i=1;i<=10;i++)
{
gotoxy(5,y);
textcolor(LIGHTBLUE);cprintf("ELEMENTO ");printf("%d:",(i));
scanf("%s",&num1[i]);
y++;
}
//para el conujunto 2
gotoxy(5,21);textcolor(LIGHTCYAN);cprintf("DAME DATOS PARA EL CONJUNTO B ");
y=23;
for(i=0;i<10;i++)
{
gotoxy(5,y);
textcolor(LIGHTBLUE);cprintf("ELEMENTO ");printf("%d:",(i+1));
scanf("%s",&num2[i]);
y++;
}
//para el conujunto 3
gotoxy(5,36);textcolor(LIGHTCYAN);cprintf("DAME DATOS PARA EL CONJUNTO C ");
y=38;
for(i=0;i<10;i++)
{
gotoxy(5,y);
textcolor(LIGHTBLUE);cprintf("ELEMENTO ");printf("%d:",(i+1));
scanf("%s",&num5[i]);
y++;
}
getch();
///////////////conjuntos
clrscr();
cuadro();
gotoxy(20,3); textcolor(LIGHTGREEN); cprintf("DATOS DE LOS CONJUNTOS INGRESADOS");
gotoxy(5,7);textcolor(LIGHTCYAN);cprintf("Datos del conjunto A= { ");
for(i=1;i<=10;i++)
{
cout<<num1[i]<<",";
// printf("%s,",num1[i]);
}
textcolor(LIGHTCYAN);cprintf("}");
gotoxy(5,9);textcolor(LIGHTCYAN);cprintf("Datos del conjunto B= { ");
for(i=0;i<10;i++)
{
cout<<num2[i]<<",";
//printf("%s,",num2[i]);
}
textcolor(LIGHTCYAN);cprintf("}");
gotoxy(5,11);textcolor(LIGHTCYAN);cprintf("Datos del conjunto C= { ");
for(i=0;i<10;i++)
{
cout<<num5[i]<<",";
//printf("%s,",num2[i]);
}
textcolor(LIGHTCYAN);cprintf("}");
//HACIENDO CALCULOS
gotoxy(20,15); textcolor(LIGHTGREEN); cprintf("OPERACIONES CON LOS CONJUNTOS");
gotoxy(5,18);textcolor(LIGHTRED);cprintf("Interseccion:");
gotoxy(7,20);textcolor(YELLOW);cprintf("A n B n C= { ");
//UNE (AnB)
for(i=0;i<10;i++)
{
bool=1;
for(int j=0;j<10;j++)
{
if(num1[i]==num2[j])
{
for(k=0;k<=w;k++)
{
if(num1[i]==num4[k])
bool=0;
}
if(bool)
{
num4[w]=num1[i];
w++;
}
}
}
}
//UNE A (AnB)nC
for(i=0;i<10;i++)
{
bool=1;
for(int j=0;j<10;j++)
{
if(num4[i]==num5[j])
{
for(k=0;k<=ww;k++)
{
if(num4[i]==num6[k])
bool=0;
}
if(bool)
{
num6[ww]=num4[i];
ww++;
}
}
}
}
for(i=0;i<ww;i++)
{ cout<<num6[i]<<",";
} textcolor(YELLOW);cprintf("}");
gotoxy(5,25);textcolor(LIGHTRED);cprintf("Union:");
gotoxy(7,27);textcolor(YELLOW);cprintf("A U B U C= { ");
//hace (A U B)
for(i=0;i<10;i++)
{
bool=1;
for( j=0;j<=zz;j++)
{
if(num1[i]==num7[j])
{
bool=0;
}
}
if(bool)
{
num7[zz]=num1[i];
zz++;
}
}//FIN FOR
for(i=0;i<10;i++)
{
bool=1;
for(int j=0;j<=zz;j++)
{
if(num2[i]==num7[j])
{
bool=0;
}
}
if(bool==1)
{
num7[zz]=num2[i];
zz++;
}
}
//HACE (A U B) U C
for(i=0;i<10;i++)
{
bool=1;
for( j=0;j<=zz;j++)
{
if(num5[i]==num7[j])
{
bool=0;
}
}
if(bool)
{
num7[zz]=num5[i];
zz++;
}
}//FIN FOR
/*
for(i=0;i<20;i++)
{
bool=1;
for(int j=0;j<=zz;j++)
{
if(num5[i]==num7[j])
{
bool=0;
}
}
if(bool)
{
num7[zz]=num5[i];
zz++;
}
} */
for(i=0;i<zz;i++)
{ cout<<num7[i]<<",";
} textcolor(YELLOW);cprintf("}");
getch();
}
void cuadro()
{
int x=3,p=0,yy=0;
clrscr();
for(p=0;p<76;p++)
{gotoxy(x,3);printf("ø"); x++;
}
x=79; yy=3;
for(p=0;p<45;p++)
{gotoxy(x,yy);printf("ø"); yy++;
}
x=3; yy=3;
for(p=0;p<45;p++)
{gotoxy(x,yy);printf("ø"); yy++;
}
x=3; yy=47;
for(p=0;p<76;p++)
{gotoxy(x,yy);printf("ø"); x++;
}
}