#include<stdio.h>
#include<conio.h>
#include<string.h>
int push(char stack[],int tos,char);
void main()
{
char stack[30],arr[30],ans[30];
int j=0,i,k,tos=-1,len,c=0,flag=0;
printf("\n enter string :: ");
scanf("%s",arr);
len=strlen(arr);
for(i=0;i<len;i++)
{
if('('==arr[i] || '{'==arr[i] || '['==arr[i])
{
tos=push(stack,tos,arr[i]);
c++;
}
else if(')'==arr[i] && stack[tos]=='(')
{
flag=0;
tos--;
}
else if('}'==arr[i] && stack[tos]=='{')
{
flag=0;
tos--;
}
else if(']'==arr[i] && stack[tos]=='[')
{
flag=0;
tos--;
}
else
{
flag=1;
break;
}
}
if(flag==0 && tos==-1)
{
printf("\n valid");
}
else
{
printf("\ninvalid");
}
getch();
}
int push(char stack[],int tos,char arr)
{
tos++;
stack[tos]=arr;
return tos;
}
***********************************************************************************************************************
------------------------------------------------------------------------
output
------------------------------------------------------------------------
enter string :: ({}[])
valid
-----------------------------------------------------
enter string :: ([]{}){
invalid
*********************************************************************************************************************************
- Blogger Comment
- Facebook Comment
Subscribe to:
Post Comments
(
Atom
)
0 comments:
Post a Comment