# Max in stack Array by R4R Team

What is Stack ?
Stack is a linear data structure which follows a particular order in which the operations are performed.
The order may be LIFO(Last In First Out) or FILO(First In Last Out).

How find maximum element in stack:
Function:

void maximum()
{
int i,ans=stack[top];
for(i=top;i>=0;i--)
if(stack[i]>ans)
ans=stack[i];
printf("Maximum in stack is %d",ans);
}

program-

#include< stdio.h>
#include< conio.h>
#define max 50
int stack[max],top=-1;

void create()
{
char ch;
do
{
top++;
printf("Enter Number\n");
scanf("%d",&stack[top]);
printf("Continue(y/n)\n");
ch=getch();
}while(ch=='y');
}

void traverse()
{
int i;
printf("Stack is :\n");
for(i=top;i>=0;i--){
printf("%d ",stack[i]);
}
}

void maximum()
{
int i,ans=stack[top];
for(i=top;i>=0;i--)
if(stack[i]>ans)
ans=stack[i];
printf("Maximum in stack is %d",ans);
}

void main()
{
clrscr();
create();
traverse();
maximum();
getch();
}

output-

Enter Number
2
Continue(y/n)
Enter Number
1
Continue(y/n)
Enter Number
9
Continue(y/n)
Enter Number
3
Continue(y/n)
Enter Number
6
Continue(y/n)
Stack is :
6 3 9 1 2
Maximum in stack is 9

-In this program, we have a three function create(), traverse() and pop()
- create() function are used to create a stack
- traverse() function are used to traverse the stack
- maximum() function are used to find the maximum element of the stack.