Dsa Practical
Dsa Practical
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
int i, n, a[20], max, loc = 0;
printf("Array is:\n");
for (i = 0; i < n; i++)
printf("a[%d] = %d\n", i, a[i]);
max = a[0];
for (i = 0; i < n; i++)
{
if (max < a[i])
{
max = a[i];
loc = i + 1;
}
}
getch();
}
Output:
Program 2: Display the array
**Program to Display the array.**
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
int i, n, a[20];
clrscr();
printf("Array is:\n");
for (i = 0; i < n; i++)
printf("a[%d] = %d\n", i, a[i]);
getch();
}
Program 3: Display the Matrix of two
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
int i, j, p, q, a[5][5], b[5][5];
clrscr();
printf("\n enter the size of
matrix a”)
scanf("%d%d",& p,&q);
printf("\nEnter the size of matrix b = ");
scanf("%d%d", &p, &q);
printf("\nEnter the elements of first matrix a = ");
for (i = 0; i < p; i++)
for (j = 0; j < q; j++)
scanf("%d", &a[i][j]);
printf("\nEnter the elements of second matrix b = ");
for (i = 0; i < p; i++)
for (j = 0; j < q; j++)
scanf("%d", &b[i][j]);
printf("\nMatrix a = \n");
for (i = 0; i < p; i++) {
for (j = 0; j < q; j++)
printf("\t%d", a[i][j]);
printf("\n");
}
printf("\nMatrix b = \n");
for (i = 0; i < p; i++) {
for (j = 0; j < q; j++)
printf("\t%d", b[i][j]);
printf("\n");
}
getch();
}
Program 4: Addition of Two Matrices
**Program of Addition of Two Matrices**
#include <stdio.h>
#include <conio.h>
#include <string.h>
void main()
{
int i, j, p, q, a[5][5], b[5][5], c[5][5];
clrscr();
printf("\nMatrix a =\n");
for (i = 0; i < p; i++) {
for (j = 0; j < q; j++)
printf("\t%d", a[i][j]);
printf("\n");
}
printf("\nMatrix b =\n");
for (i = 0; i < p; i++) {
for (j = 0; j < q; j++)
printf("\t%d", b[i][j]);
printf("\n");
}
getch();
}
Program 5: Multiplication of Two Matrices
**Program of Multiplication of Two Matrices**
#include <stdio.h>
#include <conio.h>
#include <string.h>
void main()
{
int i, j, k, m, n, p, q;
int a[5][5], b[5][5], c[5][5];
clrscr();
if (n != p) {
printf("\nMultiplication not possible");
} else {
printf("\nEnter the elements of first matrix a = ");
for (i = 0; i < m; i++)
for (j = 0; j < n; j++)
scanf("%d", &a[i][j]);
printf("\nMatrix a =\n");
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++)
printf("\t%d", a[i][j]);
printf("\n");
}
printf("\nMatrix b =\n");
for (i = 0; i < p; i++) {
for (j = 0; j < q; j++)
printf("\t%d", b[i][j]);
printf("\n");
printf("\nMultiplication of the matrix a and b =\n");
for (i = 0; i < m; i++) {
for (j = 0; j < q; j++) {
c[i][j] = 0;
for (k = 0; k < n; k++)
c[i][j] += a[i][k] * b[k][j];
}
}
getch();
}
}
Program 6: Insertion in an Array
**Program of Insertion in an Array**
#include <stdio.h>
#include <conio.h>
void main()
{
int array[100], position, c, n, value;
array[position - 1] = value;
getch();
}
Program 7: Deletion in an Array
**Program of Deletion of an Element in Array**
#include <stdio.h>
#include <conio.h>
void main()
{
int array[100], position, c, n;
if (position >= n + 1)
printf("Deletion not possible.\n");
else {
for (c = position - 1; c < n - 1; c++)
array[c] = array[c + 1];
getch();
}
Program 8: Linear Search
**Program for Linear Search in an Array**
#include <stdio.h>
#include <conio.h>
#include <string.h>
void main()
{
int a[100], s, c, n;
clrscr();
if (c == n)
printf("\n\n\t%d is not present in array.", s);
getch();
}
Program 9: Binary Search
**Program for Binary Search in an Array**
#include <stdio.h>
#include <conio.h>
void main()
{
int c, first, last, middle, n, search, array[100];
first = 0;
last = n - 1;
middle = (first + last) / 2;
#include <stdio.h>
#include <conio.h>
void carray(int[10]);
void darray(int[10]);
void bsort(int[10]);
int n;
void main()
{
int a[10];
clrscr();
carray(a);
bsort(a);
printf("\nSorted array:");
darray(a);
getch();
}
#include <stdio.h>
#include <conio.h>
void carray(int[10]);
void darray(int[10]);
void isort(int[10]);
int n;
void main()
{
int a[10];
clrscr();
carray(a);
isort(a);
printf("\nSorted array:");
darray(a);
getch();
}
}
}
}
}
Program 12: Selection Sort
**Program for Selection Sort**
#include <stdio.h>
#include <conio.h>
void carray(int[10]);
void darray(int[10]);
void ssort(int[10]);
int min(int[10], int);
int n;
void main()
{
int a[10];
clrscr();
carray(a);
ssort(a);
printf("\nSorted array:");
darray(a);
getch();
}
#include <stdio.h>
#include <conio.h>
void carray(int[10]);
void darray(int[10]);
void qsort(int[15], int, int);
int partition(int[15], int, int);
int n;
void main()
{
int a[10], lb, ub;
clrscr();
carray(a);
lb = 0;
ub = n - 1;
qsort(a, lb, ub);
printf("\nThe array is:\n");
darray(a);
printf("\nSorted array:\n");
darray(a);
getch();
}
void carray(int x[10])
{
int i;
printf("\nEnter elements in array:\n");
for (i = 0; i < n; i++)
scanf("%d", &x[i]);
}
return last;
}
Program 14: Stack using Array
**Program for Stack (Using Array)**
#include <stdio.h>
#include <conio.h>
do {
clrscr();
printf("Menu\n");
printf("1. Push\n");
printf("2. Pop\n");
printf("3. Display\n");
printf("4. Exit\n");
printf("Enter your choice: ");
scanf("%d", &ch);
switch (ch)
{
case 1:
printf("Enter element to push: ");
scanf("%d", &item);
push(a, item);
break;
case 2:
pop(a);
break;
case 3:
display(a);
break;
case 4:
printf("Thanks for using my window");
getch();
exit(0);
default:
printf("Wrong choice");
}
} while (ch <= 4);
getch();
}
void push(int x[10], int item)
{
if (top == n - 1)
printf("Overflow");
else {
top++;
x[top] = item;
}
getch();
}
if (top == -1)
printf("Underflow");
else {
item = x[top];
top--;
printf("Deleted item = %d", item);
}
getch();
}
if (top == -1)
printf("Stack is empty");
else {
printf("Stack is:");
for (i = 0; i <= top; i++)
printf("x[%d] = %d\n", i, x[i]);
}
getch();
}
Program 15: Queue using Array
**Program for Queue (Using Array)**
#include <stdio.h>
#include <conio.h>
do {
clrscr();
printf("Menu\n");
printf("1. Insert\n");
printf("2. Delete\n");
printf("3. Display\n");
printf("4. Exit\n");
printf("Enter your choice: ");
scanf("%d", &ch);
switch (ch)
{
case 1:
printf("\nEnter element in queue: ");
scanf("%d", &item);
insert(a, item);
break;
case 2:
delete(a);
break;
case 3:
display(a);
break;
case 4:
printf("\nThanks for using my window");
getch();
exit(0);
default:
printf("Wrong choice");
}
} while (ch <= 4);
getch();
}
void insert(int x[10], int item)
{
if (rear == n - 1)
printf("\nOverflow");
else {
if (front == -1)
front++;
rear++;
x[rear] = item;
}
getch();
}
if (front == -1)
printf("\nUnderflow");
else {
item = x[front];
if (front == rear) {
front--;
rear--;
} else {
front++;
}
printf("Deleted item = %d", item);
}
getch();
}
if (front == -1)
printf("\nQueue is empty");
else {
printf("Queue is:\n");
for (i = front; i <= rear; i++)
printf("q[%d] = %d\n", i, x[i]);
}
Getch():
}
Program 16: Circular Queue
#include <stdio.h>
#include <conio.h>
do {
clrscr();
printf("Menu\n");
printf("1. Insert\n");
printf("2. Delete\n");
printf("3. Display\n");
printf("4. Exit\n");
printf("Enter your choice: ");
scanf("%d", &ch);
switch (ch)
{
case 1:
printf("\nEnter element in circular queue: ");
scanf("%d", &item);
insert(a, item);
break;
case 2:
delete(a);
break;
case 3:
display(a);
break;
case 4:
printf("\nThanks for using my window");
getch();
exit(0);
default:
printf("Wrong choice");
}
x[rear] = item;
}
getch();
}
if (front == -1)
printf("\nUnderflow");
else {
item = x[front];
if (front == rear) {
front = -1;
rear = -1;
} else if (front == n - 1)
front = 0;
else
front++;
getch();
}
void display(int x[10])
{
int i;
if (rear == -1)
printf("\nQueue is empty");
else {
printf("Queue is:\n");
if (front > rear) {
for (i = front; i < n; i++)
printf("x[%d] = %d\n", i, x[i]);
for (i = 0; i <= rear; i++)
printf("x[%d] = %d\n", i, x[i]);
} else {
for (i = front; i <= rear; i++)
printf("x[%d] = %d\n", i, x[i]);
}
}
getch();
}
Program 17: Traversing in Linked List
**Program for Traversing in Linked List**
#include <stdio.h>
#include <conio.h>
void main()
{
int ptr;
clrscr();
start = 1;
ptr = start;
printf("\nInitial list:\n");
while (ptr != 0)
{
printf("\t%d", list[ptr]);
ptr = link[ptr];
}
ptr = start;
while (ptr != 0)
{
process(ptr);
ptr = link[ptr];
}
ptr = start;
printf("\nList after traversal:\n");
while (ptr != 0)
{
printf("\t%d", list[ptr]);
ptr = link[ptr];
}
getch();
}
Program 18: Insertion in Linked List
**Program for Insertion in Linked List**
#include <stdio.h>
#include <conio.h>
start = 1;
ptr = start;
printf("\nInitial list:\n");
while (ptr != 0)
{
printf("\t%d", list[ptr]);
ptr = link[ptr];
}
ptr = start;
process(ptr, list, link);
ptr = start;
printf("\nList after insert a new node:\n");
while (ptr != 0)
{
printf("\t%d", list[ptr]);
ptr = link[ptr];
}
getch();
}
#include <stdio.h>
#include <conio.h>
int list[20];
int link[20];
int start;
void main()
{
int ptr;
clrscr();
start = 1;
ptr = start;
printf("\nInitial list:\n");
while (ptr != 0)
{
printf("\t%d", list[ptr]);
ptr = link[ptr];
}
ptr = start;
process(ptr, list, link);
ptr = start;
printf("\nList after delete a node:\n");
while (ptr != 0)
{
printf("\t%d", list[ptr]);
ptr = link[ptr];
}
getch();
}