Program to find the symmetric difference of the two sets.

 What is symmetric difference:-
                                                       Symmetric difference of the two set is

 

   

Let the set M = {2, 6, 8, 12, 19, 23, 27, 54} and set N = {4, 5, 10, 24, 19, 27, 36, 49}

M-N = {2, 6, 8, 12, 23, 54}   (If set N elements remove from set M and the remaining elements left in set M write it)

N-M = {4, 5, 10, 24, 36, 49}  (If set M elements remove from set N and the remaining elements left in set N write it)

Therefore, MΔN = (M-N) U (N-M) = {2, 6, 8, 12, 23, 54} U {4, 5, 10, 24, 36, 49} = {2, 4, 5, 6, 8, 10, 12, 23, 24, 36, 49, 54} 

Solution:-
#include<stdio.h>
int main()
{
int a[10],b[10],c[10],d[10],m=0,k=0,n=0,n1,n2,l,i,j,sy[100];
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++)
{
// here we check that is b[i] already present in the ans set
// if present then ignore it otherwise add it to the ans set
for(j=0;j<n2;j++)
{
if(b[j]==a[i])
break;
}
if(j==n2)
{
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 b[i] already present in the ans set
// if present then ignore it otherwise add it to the ans set
for(l=0;l<m;l++)
{
if(d[l]==b[i])
break;
}
if(l==m)
{
d[m]=b[i];
m++;
}
}
}
//logic for symmetric Difference
for(i=0;i<k;i++)
{
sy[n]=c[i];
n++;
}
for(i=0;i<m;i++)
{
sy[n]=d[i];
n++;
}
printf(“nsymmetric Difference of sets is:-n”);
for(i=0;i<n;i++)
printf(“%d “,sy[i]);
return 0;
}


3 thoughts on “Program to find the symmetric difference of the two sets.

Leave a Reply

Your email address will not be published.