3 Lab Program
3 Lab Program
3 Lab Program
h>
#include<string.h>
#define MAX_SIZE 6
void push(int[],int*,int);
int pop(int[],int*);
void display(int[],int);
int palindrome(int[],int*,char[]);
int main()
int stack[MAX_SIZE],ele,deleted_item,top=-1,flag=-1,done=0,choice;
char palstr[MAX_SIZE];
while(!done)
printf("\n1.Push\n2.Pop\n3.Palindrome\n4.Exit\n");
scanf("%d",&choice);
switch(choice)
scanf("%d",&ele);
push(stack,&top,ele);
display(stack,top);
break;
case 2:deleted_item=pop(stack,&top);
if(deleted_item!=-1)
{
display(stack,top);
break;
scanf("%s",palstr);
top=-1;
flag=palindrome(stack,&top,palstr);
if(flag==1)
printf("%s is a palindrome\n",palstr);
else
top=-1;
break;
case 4:done=1;
break;
default:printf("Invalid Choice\n");
return 0;
if(*top==MAX_SIZE-1)
printf("Stack Overflow\n");
else
{
++(*top);
stack[*top]=ele;
return;
int deleted_item;
if(*top==-1)
printf("Stack Underflow\n");
return -1;
else
deleted_item=stack[*top];
(*top)--;
return deleted_item;
int i;
if(top==-1)
printf("Stack is Empty\n");
else
{
for(i=top;i>=0;i--)
printf("%d\t",stack[i]);
return;
int i,p;
for(i=0;i<strlen(pal);i++)
push(stack,top,pal[i]);
for(i=0;i<strlen(pal);i++)
if(pal[i]!=pop(stack,top))
return -1;
return 1;