Sunday 12 November 2017

C Program to Check if Expression is correctly Parenthesized


Code:

#include stdio.h
#include   stdlib.h
#include   string.h

int top = -1;
char stack[100];

// function prototypes
void push(char);
void pop();
void find_top();

void main()
{
int i;
char a[100];
printf("enter expression\n");
scanf("%s", &a);
for (i = 0; a[i] != '\0';i++)
{
if (a[i] == '(')
{
push(a[i]);
}
else if (a[i] == ')')
{
pop();
}
}
find_top();
}

// to push elements in stack
void push(char a)
{
stack[top] = a;
top++;
}

// to pop elements from stack
void pop()
{
if (top == -1)
{
printf("expression is invalid\n");
exit(0);
}
else
{
top--;
}
}

// to find top element of stack
void find_top()
{
if (top == -1)
printf("\nexpression is valid\n");
else
printf("\nexpression is invalid\n");
}


Output:


enter expression
(a+b)
expression is valid


enter expression
(a+b))
expression is invalid


enter expression
((a+b)
expression is invalid


enter expression
((a+b)*(c+d))
expression is valid


More C programs:









100+ Best Home Decoration Ideas For Christmas Day 2019 To Make Home Beautiful

Best gifts for Christmas Day | Greeting cards for Christmas Day | Gift your children a new gift on Christmas day This Christmas d...