This commit is contained in:
Tanguy MAZE
2019-06-22 18:23:35 +02:00
commit f9e508d5ef
173 changed files with 6727 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
Assignment name : brackets
Expected files : *.c *.h
Allowed functions: write
--------------------------------------------------------------------------------
Write a program that takes an undefined number of strings in arguments. For each
argument, the program prints on the standard output "OK" followed by a newline
if the expression is correctly bracketed, otherwise it prints "Error" followed by
a newline.
Symbols considered as 'brackets' are brackets '(' and ')', square brackets '['
and ']'and braces '{' and '}'. Every other symbols are simply ignored.
An opening bracket must always be closed by the good closing bracket in the
correct order. A string which not contains any bracket is considered as a
correctly bracketed string.
If there is no arguments, the program must print only a newline.
Examples :
$> ./brackets '(johndoe)' | cat -e
OK$
$> ./brackets '([)]' | cat -e
Error$
$> ./brackets '' '{[(0 + 0)(1 + 1)](3*(-1)){()}}' | cat -e
OK$
OK$
$> ./brackets | cat -e
$
$>

View File

@@ -0,0 +1,32 @@
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
$
$>