From 57d169bb1b1f2a44d1d46db1e763b9af02ee643c Mon Sep 17 00:00:00 2001 From: lee Date: Wed, 27 Jan 2021 14:01:09 +0000 Subject: [PATCH] adding : brackets_matching subject --- subjects/brackets_matching/README.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 subjects/brackets_matching/README.md diff --git a/subjects/brackets_matching/README.md b/subjects/brackets_matching/README.md new file mode 100644 index 00000000..b152bbc2 --- /dev/null +++ b/subjects/brackets_matching/README.md @@ -0,0 +1,25 @@ +## brackets_matching + +### Instructions + +Write a program that takes an undefined number of `string` in arguments. For each argument, if the expression is correctly bracketed, the program prints on the standard output `OK` followed by a newline (`'\n'`), otherwise it prints `Error` followed by a newline. + +Symbols considered as brackets are parentheses `(` and `)`, square brackets `[` and `]` and curly 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 does not contain any bracket is considered as a correctly bracketed `string`. + +If there is no argument, the program must print nothing. + +### Usage + +```console +student@ubuntu:~/[[ROOT]]/brackets$ ./brackets '(johndoe)' | cat -e +OK$ +student@ubuntu:~/[[ROOT]]/brackets$ ./brackets '([)]' | cat -e +Error$ +student@ubuntu:~/[[ROOT]]/brackets$ ./brackets '' '{[(0 + 0)(1 + 1)](3*(-1)){()}}' | cat -e +OK$ +OK$ +student@ubuntu:~/[[ROOT]]/brackets$ ./brackets +student@ubuntu:~/[[ROOT]]/brackets$ +```