Program to find the difference of two set.

 How to find the difference of two sets:-

If A and B are two sets, then their difference is given by A – B or B – A. 

 If A = {2, 3, 4} and B = {4, 5, 6} 

A – B means elements of A which are not the elements of B. 

i.e., in the above example A – B = {2, 3} 

B -A means elements of B which are not the elements of A. 

i.e., in the above example B -A = {5, 6} 

Solution:-

#include<stdio.h>
int main()
{
int a[10],b[10],c[10],d[10],m=0,k=0,n1,n2,l,i,j;
printf(“Enter size of set A”);
scanf(“%d”,&n1);
printf(“Enter element of set”);
for( i=0;i<n1;i++)
scanf(“%d”,&a[i]);
printf(“Enter size of set B”);
scanf(“%d”,&n2);
printf(“Enter element of set”);
for( i=0;i<n2;i++)
scanf(“%d”,&b[i]);
// logic for find A-B
for( i=0;i<n1;i++)
{
for(j=0;j<n2;j++)
{
if(b[j]==a[i])
break;
}
if(j==n2)
{
// here we check that is element already present in the set
// if present than ignore it otherwise add to the difference set
for(l=0;l<k;l++)
{
if(c[l]==a[i])
break;
}
if(l==k)
{
c[k]=a[i];
k++;
}
}
}
// logic for find B-A
for( i=0;i<n2;i++)
{
for(j=0;j<n1;j++)
{
if(b[i]==a[j])
break;
}
if(j==n1)
{
// here we check that is element already present in the set
//if present than ignore it otherwise add to the difference set
for(l=0;l<m;l++)
{
if(d[l]==b[i])
break;
}
if(l==m)
{
d[m]=b[i];
m++;
}
}
}
printf(“Difference of A-B is:-n”);
for(i=0;i<k;i++)
{
printf(“%d “,c[i]);
}
printf(“n”);
printf(“Difference of B-A is:-n”);
for(i=0;i<m;i++)
{
printf(“%d “,d[i]);
}
return 0;
}



Leave a Reply

Your email address will not be published.