C program to find union of two sets.

C Program to Find Union of Two Sets 

What is union of two set:

In set theory, the union of two sets means combining the elements of both sets without repeating any element.

if  A={1,1,2,3} and B={5,6,7,8} are two sets then union of the set 
A and B is :-

A ∪ B = {1, 2, 3, 5, 6, 7, 8}

Problem Approach (Simple Explanation)

  1. Read elements of Set A
  2. Read elements of Set B
  3. Create another array C to store the union
  4. Copy elements of A into C (ignore duplicates)
  5. Copy elements of B into C (ignore duplicates)
  6. Print the array C as union output

C Program to Find Union of Two Sets 

 Here A and B is the two sets and C is the union of set A and B.


#include<stdio.h>
#include<conio.h>
void main()
{
int a[10],b[10],i,c[10],j,k=0,n1,n2;

// taking input set A

printf("Enter number of element of set A\n");
scanf("%d",&n1);
printf("Enter the element of set A \n");
for(i=0;i<n1;i++)
scanf("%d",&a[i]);

    // taking input set B

printf("Enter number of element of set B\n");
scanf("%d",&n2);
printf("Enter the element of set B \n");
for(i=0;i<n2;i++)
scanf("%d",&b[i]);

// logic for calculate union

// copy the element of set A in set C
for(i=0;i<n1;i++)
{
     // repeted element is not allowed so we check is any value repeted
for(j=0;j<k;j++)
{
if(c[j]==a[i])
break;
}
if(j==k) //if not repesated then store value in set c
{
c[k]=a[i];
k++;
}
}
    // copy element of set B in set C
for(i=0;i<n2;i++)
{
     // check for repeted element
for(j=0;j<k;j++)
{
if(c[j]==b[i])
break;
}
if(j==k) // if element is not repeted then store in set C
{
c[k]=b[i];
k++;
}
}

// printing of union of set A and set B
printf("Union of set A and B is:-\n");
for(i=0;i<k;i++)
printf("%d ",c[i]);
}

Output:-


Enter number of element of set A
3
Enter the element of set A
1 1 2
Enter number of element of set B
4
Enter the element of set B
3 4 5 2
Union of set A and B is:-
1 2 3 4 5


Explore More:-