0% found this document useful (0 votes)
46 views10 pages

DSTL Programs

The document contains 4 programs that perform set operations on arrays: program 1 defines a union function, program 2 an intersection function, program 3 a set difference function, and program 4 a symmetric difference function. Each program initializes and displays arrays, calls the appropriate set operation function, and returns the result.

Uploaded by

Prince Tyagi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views10 pages

DSTL Programs

The document contains 4 programs that perform set operations on arrays: program 1 defines a union function, program 2 an intersection function, program 3 a set difference function, and program 4 a symmetric difference function. Each program initializes and displays arrays, calls the appropriate set operation function, and returns the result.

Uploaded by

Prince Tyagi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

DSTL Programs

Contents
Program 1: Union .......................................................................................................................................... 2
Program 2 : Intersection ............................................................................................................................... 4
Program 3: Set Difference............................................................................................................................. 6
Program 4: Symmetric Difference ............................................................................................................... 8

DSTL Programs Written By Ayush Saini Page 1


Program 1: Union

#include<stdio.h>

void initArray(int *p, int n);


int unionOfArray(int *, int *, int *, int, int);
void display(int *, int);

int main()
{
int n, n1, n2;
printf("Enter Number of Elements in 1st Array : ");
scanf("%d", &n1);
int a1[n1];
initArray(a1, n1);
printf("Enter Number of Elements in 2nd Array : ");
scanf("%d", &n2);
int a2[n2];
int result[n1+n2];
initArray(a2, n2);
n = unionOfArray(a1, a2, result, n1, n2);
display(a1, n1);
display(a2, n2);
display(result, n);
return 0;
}

void initArray(int *p, int n)


{
puts("Enter Elements of Array :-");
for (int i = 0; i < n; i++)
{
printf("Enter %d Element : ", i+1);
scanf("%d", p+i);
}
puts("");
}

int unionOfArray(int *a1, int *a2, int *r, int n1, int n2)
{
int j, n = 0;
for (int i = 0; i < n1; i++)
{

DSTL Programs Written By Ayush Saini Page 2


*(r+n++) = *(a1+i);
}
for (int i = 0; i < n2; i++)
{
for (j = 0; j < n1; j++)
{
if (*(a2+i) == *(a1+j))
{
break;
}

}
if (j == n1)
{
*(r+n++) = *(a2+i);
}
}
return n;
}

void display(int *p, int n)


{
printf("\nElements of Array : ");
for (int i = 0; i < n; i++)
{
printf("%d ", *(p+i));
}
puts("\n");
}

DSTL Programs Written By Ayush Saini Page 3


Program 2 : Intersection
#include<stdio.h>

void initArray(int *, int);


void display(int *, int);
int intersection(int *, int *, int *, int, int);

int main()
{
int n1, n2, n;
printf("Enter Number of Elements in Set 1 :");
scanf("%d", &n1);
int set1[n1];
initArray(set1, n1);
printf("Enter Number of Elements in Set 2 :");
scanf("%d", &n2);
int set2[n2];
initArray(set2, n2);
int common[n1<n2?n1:n2];
n = intersection(set1, set2, common, n1, n2);
display(set1, n1);
display(set2, n2);
display(common, n);
return 0;
}

void initArray(int *p, int n)


{
puts("Enter Elements of Array :-");
for (int i = 0; i < n; i++)
{
printf("Enter %d Element : ", i+1);
scanf("%d", p+i);
}
puts("");
}

void display(int *p, int n)


{
printf("Array : ");
for (int i = 0; i < n; i++)
{
printf("%d ", *(p+i));
}
puts("");

DSTL Programs Written By Ayush Saini Page 4


}

int intersection(int *a1, int *a2, int *r, int n1, int n2)
{
int j, n = 0;
for (int i = 0; i < n1; i++)
{
for (int j = 0; j < n2; j++)
{
if (*(a1+i) == *(a2+j))
{
*(r+n++) = *(a1+i);
}
}

}
return n;
}

DSTL Programs Written By Ayush Saini Page 5


Program 3: Set Difference
#include<stdio.h>

void display(int *, int);


void initArray(int *p, int n);
int difference(int *, int *, int *, int, int);

int main()
{
int n, n1, n2;
printf("Enter Number of Elements in 1st Array : ");
scanf("%d", &n1);
int a1[n1];
initArray(a1, n1);
printf("Enter Number of Elements in 2nd Array : ");
scanf("%d", &n2);
int a2[n2];
int result[n1+n2];
initArray(a2, n2);
n = difference(a1, a2, result, n1, n2);
display(a1, n1);
display(a2, n2);
display(result, n);
return 0;
}

void display(int *p, int n)


{
printf("Array : ");
for (int i = 0; i < n; i++)
{
printf("%d ", *(p+i));
}
puts("");
}

void initArray(int *p, int n)


{
puts("Enter Elements of Array :-");
for (int i = 0; i < n; i++)
{
printf("Enter %d Element : ", i+1);
scanf("%d", p+i);
}

DSTL Programs Written By Ayush Saini Page 6


puts("");
}

int difference(int *a1, int *a2, int *r, int n1, int n2)
{
int n = 0, j;
for (int i = 0; i < n1; i++)
{
for (j = 0; j < n2; j++)
{
if (*(a1+i) == *(a2+j))
{
break;
}

}
if (j == n2)
{
*(r+n++) = *(a1+i);
}
}

return n;
}

DSTL Programs Written By Ayush Saini Page 7


Program 4: Symmetric Difference
#include<stdio.h>

void initArray(int *p, int n);


int unionOfArray(int *, int *, int *, int, int);
void display(int *, int);
int intersection(int *, int *, int *, int, int);
int difference(int *, int *, int *, int, int);

int main()
{
int n, n1, n2, n3;
printf("Enter Number of Elements in Set 1 : ");
scanf("%d", &n1);
int set1[n1];
initArray(set1, n1);
printf("Enter Number of Elements in Set 2 : ");
scanf("%d", &n2);
int set2[n2];
initArray(set2, n2);
int Union[n1+n2];
n = unionOfArray(set1, set2, Union, n1, n2);
int result[n-n1];
int inter[n1>n2?n2:n1];
n3 = intersection(set1, set2, inter, n1, n2);
n = difference(Union, inter, result, n, n3);
display(result, n);
return 0;
}

int unionOfArray(int *a1, int *a2, int *r, int n1, int n2)
{
int j, n = 0;
for (int i = 0; i < n1; i++)
{
*(r+n++) = *(a1+i);
}
for (int i = 0; i < n2; i++)
{
for (j = 0; j < n1; j++)
{
if (*(a2+i) == *(a1+j))
{
break;
}

DSTL Programs Written By Ayush Saini Page 8


}
if (j == n1)
{
*(r+n++) = *(a2+i);
}
}
return n;
}

void initArray(int *p, int n)


{
puts("Enter Elements of Array :-");
for (int i = 0; i < n; i++)
{
printf("Enter %d Element : ", i+1);
scanf("%d", p+i);
}
puts("");
}

void display(int *p, int n)


{
printf("\nElements of Array : ");
for (int i = 0; i < n; i++)
{
printf("%d ", *(p+i));
}
puts("\n");
}

int intersection(int *a1, int *a2, int *r, int n1, int n2)
{
int j, n = 0;
for (int i = 0; i < n1; i++)
{
for (int j = 0; j < n2; j++)
{
if (*(a1+i) == *(a2+j))
{
*(r+n++) = *(a1+i);
}
}

DSTL Programs Written By Ayush Saini Page 9


return n;
}

int difference(int *a1, int *a2, int *r, int n1, int n2)
{
int n = 0, j;
for (int i = 0; i < n1; i++)
{
for (j = 0; j < n2; j++)
{
if (*(a1+i) == *(a2+j))
{
break;
}

}
if (j == n2)
{
*(r+n++) = *(a1+i);
}
}

return n;
}

DSTL Programs Written By Ayush Saini Page 10

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy