#include<stdio.h>
#include<string.h>
int isMatchingPair(char character1, char character2) 
{
    if (character1 == '(' && character2 == ')')
        return 1;
    else if (character1 == '{' && character2 == '}')
        return 1;
    else if (character1 == '[' && character2 == ']')
        return 1;
    else
        return 0;
}

void main() 
{
    char expression[100], stack[100];
    int top, n, i;
    printf("Enter the expression: \n");
    scanf("%s", expression);
    top = -1;
    n = strlen(expression);
    for (i = 0; i < n; i++) 
    {
        if (expression[i] == '(' || expression[i] == '{' || expression[i] == '[') 
        {
            stack[++top] = expression[i];
        }
        else if (expression[i] == ')' || expression[i] == '}' || expression[i] == ']') 
        {
            if (top == -1 || !isMatchingPair(stack[top--], expression[i]))
            {
                break;
            }
        }
    }
    if (i == n && top == -1) 
    {
        printf("WELL FORMED OR BALANCED PARANTHESIS\n");
    }
    else 
    {
        printf("NOT WELL FORMED OR NOT BALANCED PARANTHESIS\n");
    }
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: