set operations

Program to do set operations

#include < stdio.h>
#include < conio.h>
void setu();
void ints();
void min();
void canc(int i);
int a[20],b[20],c[40],s[20],d1,d2,d3,d4;
main()
{
int i,ch;
clrscr();
printf("Enter dim of set A: ");
scanf("%d",&d1);
printf("Enter set A : ");
for(i=0;i < d1;i++)
{
scanf("%d",&a[i]);
c[i]=a[i];
}
printf("Enter dim of set B: ");
scanf("%d",&d2);
printf("Enter set B : ");
for(i=0;i < d2;i++)
scanf("%d",&b[i]);
d3=d1;
ints();
printf("\n\n\n\tMENU");
printf("\n1.A U B\n2.A ( B\n3.A - B");
printf("\n\nEnter your choice : ");
scanf("%d",&ch);
printf("Result : [ ");
switch(ch)
{
case 1:
setu();
for(i=0;i < d3;i++)
printf("%d ",c[i]);
break;
case 2:
ints();
for(i=0;i < d4;i++)
printf("%d ",s[i]);
break;
case 3:
min();
for(i=0;i < d3;i++)
printf("%d ",c[i]);
break;
default:
printf("Invalid Operation ");
break;
}
printf("]");
getch();
}

void ints()
{
int i,j;
d4=0;
for(i=0;i < d1;i++)
{
for(j=0;j < d2;j++)
{
if(a[i]==b[j])
{
s[d4]=a[i];
d4++;
break;
}
}}
}

void canc(int s)
{
int i;
for(i=s;i < d3-1;i++)
c[i]=c[i+1];
}

void min()
{
int i,j;
for(i=0;i < d4;i++)
{
for(j=0;j < d3;j++)
{
if(c[j]==s[i])
{
canc(j);
d3--;
}
}}
}

void setu()
{
int i;
d3=d1+d2;
for(i=d1;i < d1+d2;i++)
{
c[i]=b[i-d1];
}
min();
}

0 comments: