CHECK FOR BALANCED PARANTHESES

#include<stdio.h>
#include<stdlib.h>

const char str[100];
char stack[100];
int top=-1;
void push(char str)
{
top = top + 1;
stack[top]=str;
}
void pop()
{
top = top - 1;
}
void check(const char str[])
{
int i=0;
for(i=0;i<strlen(str);i++)
{
if(str[i] == '[' || str[i] == '(' || str[i] == '{')
{
push(str[i]);
}
else if(str[i] == ')'||str[i]=='}'||str[i]==')')
{
if(stack[top]=='(' && str[i]==')')
pop();
else if(stack[top]=='{' && str[i] == '}')
pop();
else if(stack[top]=='[' && str[i]==']')
pop();
else
printf("not balanced");
}
}
if(top == -1)
printf("balanced");
}
void main()
{
printf("enter string");
scanf("%s",str);
check(str);
}

Comments