Discrete Structure & Logic Lab REPORT: KCS353 Session: 2021-2022

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

Discrete Structure & Logic Lab REPORT

KCS353
Session: 2021-2022

Greater Noida College, Greater Noida


Greater Noida – 201310

Submitted by: Submitted to:


Mudit Kumar Shiv Kumar
B. Tech CSE 2nd Year

LIST OF EXPERIMENTS
S. No. TITLE Date
Teacher’s
Signature/Remarks
1. Write a program in C to create two sets
and perform the Union operation on sets

2 Write a program in C to create two sets


and perform the Intersection operation on
sets
3 Write a program in C to create two sets
and perform the Difference operation on
sets.
4 Write a program in C to create two sets
and perform the Symmetric Difference
operation.
5 Write a program in C to perform the
Power Set operation on a set.
6 Write a program in C to Display the
Boolean Truth Table for AND, OR, NOT.

7 Write a C Program to find Cartesian


Product of two sets.
1. Write a program in C to create two sets and perform the Union operation
on sets.

#include<stdio.h>
#include<conio.h>
void main()
{ int a[10],b[10],i,c[10],j,k=0,n1,n2;
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]);
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]); for(i=0;i<n1;i++)
{
for(j=0;j<k;j++)
{
if(c[j]==a[i])
break;
}
if(j==k)
{
c[k]=a[i];
k++;
}
}
for(i=0;i<n2;i++)
{
for(j=0;j<k;j++)
{
if(c[j]==b[i])
break;
}
if(j==k)
{
c[k]=b[i];
k++;
}
} 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
112
Enter number of element of set B
4
Enter the element of set B
3452
Union of set A and B is:-
12345
2. Write a program in C to create two sets and perform the intersection
operation on sets.

#include<stdio.h> int main() { int


a[100],b[100],c[100],n1,n2,n,k=0,i,j;
printf("Enter number of element of set A\n");
scanf("%d",&n1); printf("Enter elements of
set A\n"); for(i=0;i<n1;i++)
scanf("%d",&a[i]); printf("Enter number of
element of set B\n"); scanf("%d",&n2);
printf("Enter elements of set B\n"); for(
i=0;i<n2;i++) scanf("%d",&b[i]); for(
i=0;i<n1;i++)
{
for(j=0;j<n2;j++)
{
if(a[i]==b[j])
{
c[k]=a[i];
k++;
}
}
} printf("intersection of set A and set B is:-
\n"); for(i=0;i<k;i++) printf("%d ",c[i]);
return 0; }
Output:-
Enter number of element of set A
3
Enter elements of set A
123
Enter number of element of set B
4
Enter elements of set B
1134
intersection of set A and set B is:-
13
3. Write a program in C to create two sets and perform the Difference
operation on sets.

#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\n");
scanf("%d",&n1); printf("Enter element of
set\n"); for( i=0;i<n1;i++)
scanf("%d",&a[i]); printf("Enter size of set
B\n"); scanf("%d",&n2); printf("Enter
element of set\n"); for( i=0;i<n2;i++)
scanf("%d",&b[i]); for( i=0;i<n1;i++)
{
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++;
}
}
}
for( i=0;i<n2;i++)
{
for(j=0;j<n1;j++)
{
if(b[i]==a[j])
break; }
if(j==n1)
{
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;
}
Output:
Enter size of set A
3
Enter element of set
9
7
5
Enter size of set B
4
Enter element of set
6
8
7
5
Difference of A-B is:- 9
Difference of B-A is:-
68
4. Write a program in C to create two sets and perform the Symmetric Difference
operation.

#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\n"); scanf("%d",&n1);

printf("Enter element of set\n"); for( i=0;i<n1;i++)

scanf("%d",&a[i]); printf("Enter size of set B\n");

scanf("%d",&n2); printf("Enter element of set\n"); for(

i=0;i<n2;i++) scanf("%d",&b[i]); for( i=0;i<n1;i++)

{
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++; }

}
for( i=0;i<n2;i++)

for(j=0;j<n1;j++)

if(b[i]==a[j])

break; }

if(j==n1)

for(l=0;l<m;l++)

if(d[l]==b[i])

break; }

if(l==m)

d[m]=b[i];

m++; }

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;

Output:

Enter size of set A

Enter element of set

Enter size of set B

Enter element of set

7 8 symmetric Difference of sets

is:-

2345678
5. Write a program in C to perform the Power Set operation on a set.
#include <stdio.h>
#include <math.h> void
printPowerSet(char *set, int set_size)
{ unsigned int pow_set_size = pow(2, set_size);
int counter, j; for(counter = 0; counter <
pow_set_size; counter++)
{
for(j = 0; j < set_size; j++)
{
if(counter & (1<<j))
printf("%c", set[j]);
}
printf("\n");
}
} int main() { char set[]
= {'a','b','c'};
printPowerSet(set, 3);
return 0;

Output:
ab
ab
c
ac
bc
abc
6. Write a program in C to Display the Boolean Truth Table for AND, OR,
NOT.
#include<stdio.h> int
find_OR(int x,int y) {
if(x==1 && y==1)
return 1;
if(x==1 && y==0 || x==0 && y==1)
return 1;
if(x==0 && y==0)
return 0;
}
int find_AND(int x,int y)
{ if(x==1 &&
y==1)
return 1;
else
return 0;
}
int find_NOT(int x)
{ if(x==1)
return 0; else
return 1; } int main()
{ int ch,a,b;
printf("1. OR\n");
printf("2. AND\n");
printf("3. NOT\n");
printf("4 .exit\n");
while(1)
{
printf("\nEnter your choice\n");
scanf("%d",&ch); switch(ch)
{
case 1: printf("Give two input 1 for true and 0 for false\n");
scanf("%d%d",&a,&b);
printf("%d",find_OR(a,b)); break;
case 2: printf("Give two input 1 for true and 0 for false\n");
scanf("%d%d",&a,&b); printf("%d",find_AND(a,b));
break; case 3: printf("Give an input 1 for true and 0 for
false\n"); scanf("%d",&a);
printf("%d",find_NOT(a)); break; case 4:
exit(0); default: printf("Wrong key\n");
}
}
}
Output:
1. OR
2. AND
3. NOT
4 .exit

Enter your choice


1
Give two input 1 for true and 0 for false
0
1
1
Enter your choice
7. Write a C Program to find Cartesian Product of two sets.
#include<stdio.h> int main() {
int a[10],b[10],n1,n2;
printf("Enter size of set A\n");
scanf("%d",&n1); printf("Enter
element of set A\n"); for(int
i=0;i<n1;i++)
scanf("%d",&a[i]); printf("Enter
size of set B\n");
scanf("%d",&n2); printf("Enter
element of set B\n"); for(int
i=0;i<n2;i++)
scanf("%d",&b[i]); printf("{");
for(int i=0;i<n1;i++)
{
for(int j=0;j<n2;j++)
{
printf(" (%d %d) ",a[i],b[j]);
} }
printf("}");
return 0; }
Output:
Enter size of set A
3
Enter element of set A
1
3
5
Enter size of set B
3
Enter element of set B
1
9
7
{ (1 1) (1 9) (1 7) (3 1) (3 9) (3 7) (5 1) (5 9) (5 7) }

You might also like