/*
 * Programme qui lit une chaîne (expression) de caractères et 
 * et vérifie si elle est bien parenthèsée (ex "(a+(c)-d)" )
 *
 */

#include <stdio.h> 
#define MAX 80 
char t[MAX];
main(){ 
    int curChar=0;  
    int nbO=0;   // nombre parenthèses Ouvrantes
    int nbF=0;   // nombre parenthèses Fermantes
    char c; 
    int i;
    /* On lit et mémorise uniquement les parenthèses */ 
    while ((c=getchar())!='\n') { 
        if (c=='(' || c==')' )
            t[curChar++]=c; 
        else;
        if(curChar==MAX) break;
    } 
    
    /* On parcourt le tableau est compte les parenthèses */ 
        for (i=0; i<curChar; i++){
            if (t[i] == '(') nbO++;
            else {
                nbF++;
                if (nbF >nbO) break;
            }
        }
        if (i<curChar  || nbO != nbF)
            printf ("Mal Parenthèsée :-(");
        else 
            printf ("bien Parenthèsée :-)");

    printf("\n\nThat's all folks\n"); 
 }