33 lines
1.1 KiB
Plaintext
33 lines
1.1 KiB
Plaintext
Assignment name : brackets
|
|
Expected files : *.c *.h
|
|
Allowed functions: write
|
|
--------------------------------------------------------------------------------
|
|
|
|
Ecrire un programme qui prendra une chaine de caractères en paramètre et qui
|
|
écrit sur la sortie standard 'OK' si l'expression est bien parenthesée et
|
|
'Error' dans le cas contraire, le tout suivi d'une newline.
|
|
|
|
Les symboles utilisés comme 'parenthèses' seront les parenthèses '(' et ')', les
|
|
crochets '[' et ']' ainsi que les accolades '{' et '}'. Tous les autres
|
|
caractères seront tout simplement ignorés.
|
|
|
|
Une parenthèse ouvrante devra obligatoirement être fermée par une parenthèse
|
|
fermante et dans le bon ordre (parenthèses imbriquées). Une chaine ne comportant
|
|
aucune parenthèse est considerée comme bien parenthesée.
|
|
|
|
Votre programme évaluera tous les arguments. Si aucun argument n'est fourni,
|
|
il affichera seulement une newline.
|
|
|
|
Exemples :
|
|
|
|
$> ./brackets '(jo:qahndoe)' | cat -e
|
|
OK$
|
|
$> ./brackets '([)]' | cat -e
|
|
Error$
|
|
$> ./brackets '' '{[(0 + 0)(1 + 1)](3*(-1)){()}}' | cat -e
|
|
OK$
|
|
OK$
|
|
$> ./brackets | cat -e
|
|
$
|
|
$>
|