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
$
$>

View File

@@ -0,0 +1,20 @@
Assignment name : ft_itoa_base
Expected files : ft_itoa_base.c
Allowed functions: malloc
--------------------------------------------------------------------------------
Write a function that converts an integer value to a null-terminated string
using the specified base and stores the result in a char array that you must
allocate.
The base is expressed as an integer, from 2 to 16. The characters comprising
the base are the digits from 0 to 9, followed by uppercase letter from A to F.
For example, base 4 would be "0123" and base 16 "0123456789ABCDEF".
If base is 10 and value is negative, the resulting string is preceded with a
minus sign (-). With any other base, value is always considered unsigned.
Your function must be declared as follows:
char *ft_itoa_base(int value, int base);

View File

@@ -0,0 +1,21 @@
Assignment name : ft_itoa_base
Expected files : ft_itoa_base.c
Allowed functions: malloc
--------------------------------------------------------------------------------
Écrire une fonction qui prend un int et le convertit en chaîne terminée par un
caractère nul, en utilisant la base passée en paramètre. Cette fonction
retourne le résultat en tant qu'un tableau de char que vous devez allouer.
La base est exprimée par un entier qui va de 2 à 16. Les caractères composant
la base sont les chiffres de 0 à 9 suivis par les lettres majuscules A à F.
Par exemple, la base 4 serait "0123" et la base 16 "0123456789ABCDEF".
Si la base est 10 et la valeur est négative, la chaîne de sortie doit être
précédée d'un caractère '-'. Pour toute autre base, la valeur est toujours
considérée non-signée.
Votre fonction doit être déclarée comme suit:
char *ft_itoa_base(int value, int base);

View File

@@ -0,0 +1,14 @@
Assignment name : ft_split
Expected files : ft_split.c
Allowed functions: malloc
--------------------------------------------------------------------------------
Write a function that takes a string, splits it into words, and returns them as
a NULL-terminated array of strings.
A "word" is defined as a part of a string delimited either by spaces/tabs/new
lines, or by the start/end of the string.
Your function must be declared as follows:
char **ft_split(char *str);

View File

@@ -0,0 +1,16 @@
Assignment name : ft_split
Expected files : ft_split.c
Allowed functions: malloc
--------------------------------------------------------------------------------
Écrire une fonction qui prend en paramètre une chaîne de caractères et la
découpe en mots, qui seront retournés sous la forme d'un tableau de chaînes
terminé par NULL.
On appelle "mot" une portion de chaîne de caractères délimitée soit par des
espaces, des retours à la ligne et/ou des tabulations, soit par le début / fin
de la chaîne.
Votre fonction devra être prototypée de la façon suivante :
char **ft_split(char *str);

View File

@@ -0,0 +1,15 @@
Exercitiu : ft_split
Fisier de iesire : ft_split.c
Functii autorizate : malloc
--------------------------------------------------------------------------------
Scrieti o functie ce ia ca parametru un sir de caractere si pe care il separa
in cuvinte, ce vor fi returnate sub forma unui tablou siruri terminate cu NULL.
Numim "cuvant" o portiune a a sirului de caractere delimitate de fie de spatii
si/sau tabulatoare, fie de inceputul/sfarsitul sirului.
Functia va trebui sa aiba urmatorul prototip:
char **ft_split(char *str);