0% found this document useful (0 votes)
10 views11 pages

Dsa Lab Manual

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

Dsa Lab Manual

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

#include <stdio.

h>

#include <stdlib.h>

strict Day

char * dayName; int date;

char * activity;

};

void create(strict Day * day)

day -> dayName = (char * ) malloc(sizeof(char) * 20);

day -> activity = (char * ) malloc(sizeof(char) * 100);

printf("Enter the day name:");

scanf("%s", day -> dayName);

printf("Enter the date:");

scanf("%d", & day -> date);

printf("Enter the activity for the day:");

scanf(" %[^\n]s", day -> activity);

void read(strict Day * calendar, int size)

for (int i = 0; i < size; i++)

printf("Enter details for Day %d:\n", i + 1);

create( & calendar[i]);

}
}

void display(strict Day * calendar, int size)

printf("\nWeek's Activity Details:\n");

for (int i = 0; i < size; i++) {

printf("Day %d:\n", i + 1);

printf("Day Name: %s\n", calendar[i].dayName);

printf("Date: %d\n", calendar[i].date);

printf("Activity: %s\n", calendar[i].activity);

printf("\n");

void freeMemory(strict Day * calendar, int size)

for (int i = 0; i < size; i++) {

free(calendar[i].dayName);

free(calendar[i].activity);

}int main()

int size;

printf("Enter the number of days in the week:");

scanf("%d", & size);

strict Day * calendar = (strict Day * ) malloc(sizeof(strict Day) * size);

if (calendar == NULL)
{

printf("Memory allocation failed. Exiting program.\n");

return 1;

read(calendar, size);

display(calendar, size);

freeMemory(calendar, size);

free(calendar);return 0;

Output:

Enter the number of days in the week: 7Enter details for Day 1:

Enter the day name: Sunday

Enter the date: 1

Enter the activity for the day: LearningEnter details for Day 2:

Enter the day name: Monday

Enter the date: 2

Enter the activity for the day: CodingEnter details for Day 3:

Enter the day name: Tuesday

Enter the date: 3

Enter the activity for the day: TestingEnter details for Day 4:

Enter the day name: Wednesday

Enter the date: 4

Enter the activity for the day: DebuggingEnter details for Day 5:

Enter the day name: Thrusday


Enter the date: 5

Enter the activity for the day: PublishingEnter details for Day 6:

Enter the day name: Friday

Enter the date: 6

Enter the activity for the day: MarketingEnter details for Day 7:

Enter the day name: Saturday

Enter the date: 7

Enter the activity for the day: EarningWeek's Activity Details:

Day 1:

Day Name: Sunday

Date: 1

Activity: LearningDay 2:

Day Name: Monday

Date: 2

Activity: CodingDay 3:

Day Name: Tuesday

Date: 3

Activity: TestingDay 4:

Day Name: Wednesday

Date: 4

Activity: DebuggingDay 5:

Day Name: Thrusday

Date: 5

Activity: PublishingDay 6:

Day Name: Friday


Date: 6

Activity: MarketingDay 7:

Day Name: Saturday

Date: 7

Activity: Earning

#include<stdio.h>

char str[50], pat[20], rep[20], res[50];

int c = 0, m = 0, i = 0, j = 0, k, flag = 0;

void stringmatch()

while (str[c] != '\0')

if (str[m] == pat[i])

i++;

m++;

if (pat[i] == '\0')

flag = 1;

for (k = 0; rep[k] != '\0'; k++, j++)

res[j] = rep[k];

i = 0;
c = m;

Else

res[j] = str[c];

j++;

c++;

m = c;

i = 0;

res[j] = '\0';

void main()

printf("Enter the main string:");

gets(str);

printf("\nEnter the pat string:");

gets(pat);

printf("\nEnter the replace string:");

gets(rep);

printf("\nThe string before pattern match is:\n %s", str);

stringmatch();

if (flag == 1)
printf("\nThe string after pattern match and replace is: \n %s ", res);

else

printf("\nPattern string is not found");

Output:
#include<stdio.h>

#include<stdlib.h>

#define MAX 3

int s[MAX];

int top = -1;void push(int item);

int pop();

void palindrome();

void display();void main()

int choice, item;

while (1)

printf("\n\n\n\n~~~~~~Menu~~~~~~ : ");

printf("\n=>1.Push an Element to Stack and Overflow demo ");

printf("\n=>2.Pop an Element from Stack and Underflow demo");

printf("\n=>3.Palindrome demo ");

printf("\n=>4.Display ");

printf("\n=>5.Exit");

printf("\nEnter your choice: ");

scanf("%d", & choice);

switch (choice)

case 1:

printf("\nEnter an element to be pushed: ");

scanf("%d", & item);


push(item);

break;

case 2:

item = pop();

if (item != -1)

printf("\nElement popped is: %d", item);

break;

case 3:

palindrome();

break;

case 4:

display();

break;

case 5:

exit(1);

default:

printf("\nPlease enter valid choice ");

break;

void push(int item) {

if (top == MAX - 1) {

printf("\n~~~~Stack overflow~~~~");

return;
}

top = top + 1;

s[top] = item;

int pop() {

int item;

if (top == -1)

printf("\n~~~~Stack underflow~~~~");

return -1;

item = s[top];

top = top - 1;

return item;

void display()

int i;

if (top == -1) {

printf("\n~~~~Stack is empty~~~~");

return;

printf("\nStack elements are:\n ");

for (i = top; i >= 0; i--)

printf("| %d |\n", s[i]);


}void palindrome() {

int flag = 1, i;

printf("\nStack content are:\n");

for (i = top; i >= 0; i--)

printf("| %d |\n", s[i]);printf("\nReverse of stack content are:\n");

for (i = 0; i <= top; i++)

printf("| %d |\n", s[i]);for (i = 0; i <= top / 2; i++)

if (s[i] != s[top - i])

flag = 0;

break;

if (flag == 1) {

printf("\nIt is palindrome number");

Else

printf("\nIt is not a palindrome number");

You might also like