aboutsummaryrefslogtreecommitdiff
path: root/exam00
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2019-07-16 12:58:13 +0200
committerCharles <sircharlesaze@gmail.com>2019-07-16 12:58:13 +0200
commit14914f50c3de6c5444e13cf67db064b03c1c90ef (patch)
tree3ecf5a41b4541980ba0287a431681cd5ae25ad84 /exam00
parent217bcb0d4e3ba60604921cb40d5a11a64f93cfc7 (diff)
downloadpiscine-14914f50c3de6c5444e13cf67db064b03c1c90ef.tar.gz
piscine-14914f50c3de6c5444e13cf67db064b03c1c90ef.tar.bz2
piscine-14914f50c3de6c5444e13cf67db064b03c1c90ef.zip
c09 passed, c10 start, exam00 and exam01
Diffstat (limited to 'exam00')
-rwxr-xr-xexam00/cacharle/__GIT_HISTORY71
-rwxr-xr-xexam00/cacharle/ft_atoi/ft_atoi.c60
-rwxr-xr-xexam00/cacharle/ft_countdown/ft_countdown.c20
-rwxr-xr-xexam00/cacharle/ft_putstr/ft_putstr.c10
-rwxr-xr-xexam00/cacharle/ft_strrev/ft_strrev.c31
-rwxr-xr-xexam00/cacharle/maff_alpha/maff_alpha.c21
-rwxr-xr-xexam00/cacharle/only_z/only_z.c8
-rwxr-xr-xexam00/rendu/__GIT_HISTORY71
-rwxr-xr-xexam00/rendu/ft_atoi/ft_atoi.c60
-rwxr-xr-xexam00/rendu/ft_countdown/ft_countdown.c20
-rwxr-xr-xexam00/rendu/ft_putstr/ft_putstr.c10
-rwxr-xr-xexam00/rendu/ft_strrev/ft_strrev.c31
-rwxr-xr-xexam00/rendu/maff_alpha/maff_alpha.c21
-rwxr-xr-xexam00/rendu/only_z/only_z.c8
-rw-r--r--exam00/subjects/0-0-only_z/subject.en.txt6
-rw-r--r--exam00/subjects/0-0-only_z/subject.fr.txt6
-rw-r--r--exam00/subjects/1-0-ft_countdown/subject.en.txt12
-rw-r--r--exam00/subjects/1-0-ft_countdown/subject.fr.txt12
-rw-r--r--exam00/subjects/2-0-maff_alpha/examples.txt2
-rw-r--r--exam00/subjects/2-0-maff_alpha/subject.en.txt12
-rw-r--r--exam00/subjects/2-0-maff_alpha/subject.fr.txt12
-rw-r--r--exam00/subjects/3-0-ft_putstr/subject.en.txt13
-rw-r--r--exam00/subjects/3-0-ft_putstr/subject.fr.txt12
-rw-r--r--exam00/subjects/4-0-ft_strrev/subject.en.txt12
-rw-r--r--exam00/subjects/4-0-ft_strrev/subject.fr.txt12
-rw-r--r--exam00/subjects/5-0-ft_atoi/subject.en.txt13
-rw-r--r--exam00/subjects/5-0-ft_atoi/subject.fr.txt12
-rw-r--r--exam00/subjects/5-1-ft_atoi/subject.en.txt13
-rw-r--r--exam00/subjects/5-1-ft_atoi/subject.fr.txt12
-rw-r--r--exam00/traces/0-0-only_z.trace.txt47
-rw-r--r--exam00/traces/1-0-ft_countdown.trace.txt53
-rw-r--r--exam00/traces/2-0-maff_alpha.trace.txt59
-rw-r--r--exam00/traces/3-0-ft_putstr.trace.txt100
-rw-r--r--exam00/traces/4-0-ft_strrev.trace.txt112
-rw-r--r--exam00/traces/5-0-ft_atoi.trace.txt79
-rw-r--r--exam00/traces/5-1-ft_atoi.trace.txt174
36 files changed, 1227 insertions, 0 deletions
diff --git a/exam00/cacharle/__GIT_HISTORY b/exam00/cacharle/__GIT_HISTORY
new file mode 100755
index 0000000..4ce38dc
--- /dev/null
+++ b/exam00/cacharle/__GIT_HISTORY
@@ -0,0 +1,71 @@
+commit 4933249a7abc3ae2a2f34fa94bc39fc25b94037e
+Author: Exam 42 <exam-no-reply@42.fr>
+Date: Fri Jul 5 20:42:29 2019 +0200
+
+ there is still a main you idiot
+
+ ft_atoi/ft_atoi.c | 5 -----
+ 1 file changed, 5 deletions(-)
+
+commit aee71077430e4cb04d7151c5422572a6ccd97167
+Author: Exam 42 <exam-no-reply@42.fr>
+Date: Fri Jul 5 20:37:38 2019 +0200
+
+ exam00 ft_atoi
+
+ ft_atoi/ft_atoi.c | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 65 insertions(+)
+
+commit a39f6ce8235aec04c798cf602000ab71a8be0361
+Author: Exam 42 <exam-no-reply@42.fr>
+Date: Fri Jul 5 19:25:56 2019 +0200
+
+ ft_strrev return corr
+
+ ft_strrev/ft_strrev.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d7079124e81f8d1d030d31f59ca1fa2a1e2eb8f9
+Author: Exam 42 <exam-no-reply@42.fr>
+Date: Fri Jul 5 19:23:52 2019 +0200
+
+ exam00 ft_strrev
+
+ ft_strrev/ft_strrev.c | 31 +++++++++++++++++++++++++++++++
+ 1 file changed, 31 insertions(+)
+
+commit 9a061d46ec225b60d5798839c9343d3dcb47a21e
+Author: Exam 42 <exam-no-reply@42.fr>
+Date: Fri Jul 5 18:57:38 2019 +0200
+
+ exam00 ft_putstr
+
+ ft_putstr/ft_putstr.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+commit cf5957fe28f503c7637a640ca229743385364c1d
+Author: Exam 42 <exam-no-reply@42.fr>
+Date: Fri Jul 5 18:47:39 2019 +0200
+
+ exam00 maff_alpha.c
+
+ maff_alpha/maff_alpha.c | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+commit 1bff6951e5d37fb9f911e6cf93afdb9a2a079a64
+Author: Exam 42 <exam-no-reply@42.fr>
+Date: Fri Jul 5 18:38:16 2019 +0200
+
+ exam00 ft_countdown
+
+ ft_countdown/ft_countdown.c | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+commit 1ea27768767e32d773e78820d481b20a4d108c5b
+Author: Exam 42 <exam-no-reply@42.fr>
+Date: Fri Jul 5 18:23:38 2019 +0200
+
+ exam only_z
+
+ only_z/only_z.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
diff --git a/exam00/cacharle/ft_atoi/ft_atoi.c b/exam00/cacharle/ft_atoi/ft_atoi.c
new file mode 100755
index 0000000..81f0706
--- /dev/null
+++ b/exam00/cacharle/ft_atoi/ft_atoi.c
@@ -0,0 +1,60 @@
+char ctoi(char c)
+{
+ return (c - '0');
+}
+
+int ft_strlen(const char *str)
+{
+ int counter;
+
+ counter = 0;
+ while (*str >= '0' && *str <= '9')
+ {
+ counter++;
+ str++;
+ }
+ return (counter);
+}
+
+int pow10(int exponent)
+{
+ int accumulator;
+
+ accumulator = 1;
+ while (exponent > 0)
+ {
+ accumulator *= 10;
+ exponent--;
+ }
+ return (accumulator);
+}
+
+int ft_atoi(const char *str)
+{
+ int nb;
+ int i;
+ int is_negative;
+
+ while (*str == ' ' || *str == '\t'|| *str == '\n'
+ || *str == '\v'|| *str == '\f'|| *str == '\r')
+ str++;
+ if (*str == '-')
+ is_negative = 1;
+ else
+ is_negative = 0;
+ if (*str == '-' || *str == '+')
+ {
+ str++;
+ }
+ nb = 0;
+ i = ft_strlen(str) - 1;
+ while (*str >= '0' && *str <= '9')
+ {
+ nb += pow10(i) * ctoi(*str);
+ i--;
+ str++;
+ }
+ if (is_negative)
+ nb = -nb;
+ return (nb);
+}
diff --git a/exam00/cacharle/ft_countdown/ft_countdown.c b/exam00/cacharle/ft_countdown/ft_countdown.c
new file mode 100755
index 0000000..67861c6
--- /dev/null
+++ b/exam00/cacharle/ft_countdown/ft_countdown.c
@@ -0,0 +1,20 @@
+#include <unistd.h>
+
+void ft_putchar(char c)
+{
+ write(1, &c, 1);
+}
+
+int main(void)
+{
+ char a;
+
+ a = '9';
+ while (a >= '0')
+ {
+ ft_putchar(a);
+ a--;
+ }
+ ft_putchar('\n');
+}
+
diff --git a/exam00/cacharle/ft_putstr/ft_putstr.c b/exam00/cacharle/ft_putstr/ft_putstr.c
new file mode 100755
index 0000000..aea8468
--- /dev/null
+++ b/exam00/cacharle/ft_putstr/ft_putstr.c
@@ -0,0 +1,10 @@
+#include <unistd.h>
+
+void ft_putstr(char *str)
+{
+ while (*str)
+ {
+ write(1, str, 1);
+ str++;
+ }
+}
diff --git a/exam00/cacharle/ft_strrev/ft_strrev.c b/exam00/cacharle/ft_strrev/ft_strrev.c
new file mode 100755
index 0000000..ef58887
--- /dev/null
+++ b/exam00/cacharle/ft_strrev/ft_strrev.c
@@ -0,0 +1,31 @@
+int ft_strlen(char *str)
+{
+ int counter;
+
+ counter = 0;
+ while (*str)
+ {
+ counter++;
+ str++;
+ }
+ return (counter);
+}
+
+char *ft_strrev(char *str)
+{
+ int i;
+ int j;
+ char tmp;
+
+ i = 0;
+ j = ft_strlen(str) - 1;
+ while (i <= j)
+ {
+ tmp = str[i];
+ str[i] = str[j];
+ str[j] = tmp;
+ i++;
+ j--;
+ }
+ return (str);
+}
diff --git a/exam00/cacharle/maff_alpha/maff_alpha.c b/exam00/cacharle/maff_alpha/maff_alpha.c
new file mode 100755
index 0000000..416dc0d
--- /dev/null
+++ b/exam00/cacharle/maff_alpha/maff_alpha.c
@@ -0,0 +1,21 @@
+#include <unistd.h>
+
+void ft_putchar(char c)
+{
+ write(1, &c, 1);
+}
+
+int main(void)
+{
+ char ch = 'a';
+ while (ch <= 'z')
+ {
+ if (ch % 2 == 0)
+ ft_putchar(ch - 'a' + 'A');
+ else
+ ft_putchar(ch);
+ ch++;
+ }
+ ft_putchar('\n');
+ return 0;
+}
diff --git a/exam00/cacharle/only_z/only_z.c b/exam00/cacharle/only_z/only_z.c
new file mode 100755
index 0000000..08ab66b
--- /dev/null
+++ b/exam00/cacharle/only_z/only_z.c
@@ -0,0 +1,8 @@
+#include <unistd.h>
+
+int main(void)
+{
+ char z = 'z';
+ write(1, &z, 1);
+ return 0;
+}
diff --git a/exam00/rendu/__GIT_HISTORY b/exam00/rendu/__GIT_HISTORY
new file mode 100755
index 0000000..4ce38dc
--- /dev/null
+++ b/exam00/rendu/__GIT_HISTORY
@@ -0,0 +1,71 @@
+commit 4933249a7abc3ae2a2f34fa94bc39fc25b94037e
+Author: Exam 42 <exam-no-reply@42.fr>
+Date: Fri Jul 5 20:42:29 2019 +0200
+
+ there is still a main you idiot
+
+ ft_atoi/ft_atoi.c | 5 -----
+ 1 file changed, 5 deletions(-)
+
+commit aee71077430e4cb04d7151c5422572a6ccd97167
+Author: Exam 42 <exam-no-reply@42.fr>
+Date: Fri Jul 5 20:37:38 2019 +0200
+
+ exam00 ft_atoi
+
+ ft_atoi/ft_atoi.c | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 65 insertions(+)
+
+commit a39f6ce8235aec04c798cf602000ab71a8be0361
+Author: Exam 42 <exam-no-reply@42.fr>
+Date: Fri Jul 5 19:25:56 2019 +0200
+
+ ft_strrev return corr
+
+ ft_strrev/ft_strrev.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d7079124e81f8d1d030d31f59ca1fa2a1e2eb8f9
+Author: Exam 42 <exam-no-reply@42.fr>
+Date: Fri Jul 5 19:23:52 2019 +0200
+
+ exam00 ft_strrev
+
+ ft_strrev/ft_strrev.c | 31 +++++++++++++++++++++++++++++++
+ 1 file changed, 31 insertions(+)
+
+commit 9a061d46ec225b60d5798839c9343d3dcb47a21e
+Author: Exam 42 <exam-no-reply@42.fr>
+Date: Fri Jul 5 18:57:38 2019 +0200
+
+ exam00 ft_putstr
+
+ ft_putstr/ft_putstr.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+commit cf5957fe28f503c7637a640ca229743385364c1d
+Author: Exam 42 <exam-no-reply@42.fr>
+Date: Fri Jul 5 18:47:39 2019 +0200
+
+ exam00 maff_alpha.c
+
+ maff_alpha/maff_alpha.c | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+commit 1bff6951e5d37fb9f911e6cf93afdb9a2a079a64
+Author: Exam 42 <exam-no-reply@42.fr>
+Date: Fri Jul 5 18:38:16 2019 +0200
+
+ exam00 ft_countdown
+
+ ft_countdown/ft_countdown.c | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+commit 1ea27768767e32d773e78820d481b20a4d108c5b
+Author: Exam 42 <exam-no-reply@42.fr>
+Date: Fri Jul 5 18:23:38 2019 +0200
+
+ exam only_z
+
+ only_z/only_z.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
diff --git a/exam00/rendu/ft_atoi/ft_atoi.c b/exam00/rendu/ft_atoi/ft_atoi.c
new file mode 100755
index 0000000..81f0706
--- /dev/null
+++ b/exam00/rendu/ft_atoi/ft_atoi.c
@@ -0,0 +1,60 @@
+char ctoi(char c)
+{
+ return (c - '0');
+}
+
+int ft_strlen(const char *str)
+{
+ int counter;
+
+ counter = 0;
+ while (*str >= '0' && *str <= '9')
+ {
+ counter++;
+ str++;
+ }
+ return (counter);
+}
+
+int pow10(int exponent)
+{
+ int accumulator;
+
+ accumulator = 1;
+ while (exponent > 0)
+ {
+ accumulator *= 10;
+ exponent--;
+ }
+ return (accumulator);
+}
+
+int ft_atoi(const char *str)
+{
+ int nb;
+ int i;
+ int is_negative;
+
+ while (*str == ' ' || *str == '\t'|| *str == '\n'
+ || *str == '\v'|| *str == '\f'|| *str == '\r')
+ str++;
+ if (*str == '-')
+ is_negative = 1;
+ else
+ is_negative = 0;
+ if (*str == '-' || *str == '+')
+ {
+ str++;
+ }
+ nb = 0;
+ i = ft_strlen(str) - 1;
+ while (*str >= '0' && *str <= '9')
+ {
+ nb += pow10(i) * ctoi(*str);
+ i--;
+ str++;
+ }
+ if (is_negative)
+ nb = -nb;
+ return (nb);
+}
diff --git a/exam00/rendu/ft_countdown/ft_countdown.c b/exam00/rendu/ft_countdown/ft_countdown.c
new file mode 100755
index 0000000..67861c6
--- /dev/null
+++ b/exam00/rendu/ft_countdown/ft_countdown.c
@@ -0,0 +1,20 @@
+#include <unistd.h>
+
+void ft_putchar(char c)
+{
+ write(1, &c, 1);
+}
+
+int main(void)
+{
+ char a;
+
+ a = '9';
+ while (a >= '0')
+ {
+ ft_putchar(a);
+ a--;
+ }
+ ft_putchar('\n');
+}
+
diff --git a/exam00/rendu/ft_putstr/ft_putstr.c b/exam00/rendu/ft_putstr/ft_putstr.c
new file mode 100755
index 0000000..aea8468
--- /dev/null
+++ b/exam00/rendu/ft_putstr/ft_putstr.c
@@ -0,0 +1,10 @@
+#include <unistd.h>
+
+void ft_putstr(char *str)
+{
+ while (*str)
+ {
+ write(1, str, 1);
+ str++;
+ }
+}
diff --git a/exam00/rendu/ft_strrev/ft_strrev.c b/exam00/rendu/ft_strrev/ft_strrev.c
new file mode 100755
index 0000000..ef58887
--- /dev/null
+++ b/exam00/rendu/ft_strrev/ft_strrev.c
@@ -0,0 +1,31 @@
+int ft_strlen(char *str)
+{
+ int counter;
+
+ counter = 0;
+ while (*str)
+ {
+ counter++;
+ str++;
+ }
+ return (counter);
+}
+
+char *ft_strrev(char *str)
+{
+ int i;
+ int j;
+ char tmp;
+
+ i = 0;
+ j = ft_strlen(str) - 1;
+ while (i <= j)
+ {
+ tmp = str[i];
+ str[i] = str[j];
+ str[j] = tmp;
+ i++;
+ j--;
+ }
+ return (str);
+}
diff --git a/exam00/rendu/maff_alpha/maff_alpha.c b/exam00/rendu/maff_alpha/maff_alpha.c
new file mode 100755
index 0000000..416dc0d
--- /dev/null
+++ b/exam00/rendu/maff_alpha/maff_alpha.c
@@ -0,0 +1,21 @@
+#include <unistd.h>
+
+void ft_putchar(char c)
+{
+ write(1, &c, 1);
+}
+
+int main(void)
+{
+ char ch = 'a';
+ while (ch <= 'z')
+ {
+ if (ch % 2 == 0)
+ ft_putchar(ch - 'a' + 'A');
+ else
+ ft_putchar(ch);
+ ch++;
+ }
+ ft_putchar('\n');
+ return 0;
+}
diff --git a/exam00/rendu/only_z/only_z.c b/exam00/rendu/only_z/only_z.c
new file mode 100755
index 0000000..08ab66b
--- /dev/null
+++ b/exam00/rendu/only_z/only_z.c
@@ -0,0 +1,8 @@
+#include <unistd.h>
+
+int main(void)
+{
+ char z = 'z';
+ write(1, &z, 1);
+ return 0;
+}
diff --git a/exam00/subjects/0-0-only_z/subject.en.txt b/exam00/subjects/0-0-only_z/subject.en.txt
new file mode 100644
index 0000000..930e2e8
--- /dev/null
+++ b/exam00/subjects/0-0-only_z/subject.en.txt
@@ -0,0 +1,6 @@
+Assignment name : only_z
+Expected files : only_z.c
+Allowed functions: write
+--------------------------------------------------------------------------------
+
+Write a program that displays a 'z' character on the standard output.
diff --git a/exam00/subjects/0-0-only_z/subject.fr.txt b/exam00/subjects/0-0-only_z/subject.fr.txt
new file mode 100644
index 0000000..e5ec893
--- /dev/null
+++ b/exam00/subjects/0-0-only_z/subject.fr.txt
@@ -0,0 +1,6 @@
+Assignment name : only_z
+Expected files : only_z.c
+Allowed functions: write
+--------------------------------------------------------------------------------
+
+Écrire un programme qui affiche un caractère 'z' sur la sortie standard.
diff --git a/exam00/subjects/1-0-ft_countdown/subject.en.txt b/exam00/subjects/1-0-ft_countdown/subject.en.txt
new file mode 100644
index 0000000..0e3dd56
--- /dev/null
+++ b/exam00/subjects/1-0-ft_countdown/subject.en.txt
@@ -0,0 +1,12 @@
+Assignment name : ft_countdown
+Expected files : ft_countdown.c
+Allowed functions: write
+--------------------------------------------------------------------------------
+
+Write a program that displays all digits in descending order, followed by a
+newline.
+
+Example:
+$> ./ft_countdown | cat -e
+9876543210$
+$>
diff --git a/exam00/subjects/1-0-ft_countdown/subject.fr.txt b/exam00/subjects/1-0-ft_countdown/subject.fr.txt
new file mode 100644
index 0000000..c4ff0ef
--- /dev/null
+++ b/exam00/subjects/1-0-ft_countdown/subject.fr.txt
@@ -0,0 +1,12 @@
+Assignment name : ft_countdown
+Expected files : ft_countdown.c
+Allowed functions: write
+--------------------------------------------------------------------------------
+
+Écrire un programme qui affiche tous les chiffres en ordre descendant, suivis
+d'un newline.
+
+Exemple:
+$> ./ft_countdown | cat -e
+9876543210$
+$>
diff --git a/exam00/subjects/2-0-maff_alpha/examples.txt b/exam00/subjects/2-0-maff_alpha/examples.txt
new file mode 100644
index 0000000..e371037
--- /dev/null
+++ b/exam00/subjects/2-0-maff_alpha/examples.txt
@@ -0,0 +1,2 @@
+$> ./maff_alpha | cat -e
+aBcDeFgHiJkLmNoPqRsTuVwXyZ$
diff --git a/exam00/subjects/2-0-maff_alpha/subject.en.txt b/exam00/subjects/2-0-maff_alpha/subject.en.txt
new file mode 100644
index 0000000..e9a8bb0
--- /dev/null
+++ b/exam00/subjects/2-0-maff_alpha/subject.en.txt
@@ -0,0 +1,12 @@
+Assignment name : maff_alpha
+Expected files : maff_alpha.c
+Allowed functions: write
+--------------------------------------------------------------------------------
+
+Write a program that displays the alphabet, with even letters in uppercase, and
+odd letters in lowercase, followed by a newline.
+
+Example:
+
+$> ./maff_alpha | cat -e
+aBcDeFgHiJkLmNoPqRsTuVwXyZ$
diff --git a/exam00/subjects/2-0-maff_alpha/subject.fr.txt b/exam00/subjects/2-0-maff_alpha/subject.fr.txt
new file mode 100644
index 0000000..a4be7f9
--- /dev/null
+++ b/exam00/subjects/2-0-maff_alpha/subject.fr.txt
@@ -0,0 +1,12 @@
+Assignment name : maff_alpha
+Expected files : maff_alpha.c
+Allowed functions: write
+--------------------------------------------------------------------------------
+
+Écrire un programme qui affiche l'alphabet une lettre sur 2 en minuscule, et le
+reste en majuscule (Voir l'exemple), suivi d'un '\n'.
+
+Exemple:
+
+$> ./maff_alpha | cat -e
+aBcDeFgHiJkLmNoPqRsTuVwXyZ$
diff --git a/exam00/subjects/3-0-ft_putstr/subject.en.txt b/exam00/subjects/3-0-ft_putstr/subject.en.txt
new file mode 100644
index 0000000..243e4d8
--- /dev/null
+++ b/exam00/subjects/3-0-ft_putstr/subject.en.txt
@@ -0,0 +1,13 @@
+Assignment name : ft_putstr
+Expected files : ft_putstr.c
+Allowed functions: write
+--------------------------------------------------------------------------------
+
+Write a function that displays a string on the standard output.
+
+The pointer passed to the function contains the address of the string's first
+character.
+
+Your function must be declared as follows:
+
+void ft_putstr(char *str);
diff --git a/exam00/subjects/3-0-ft_putstr/subject.fr.txt b/exam00/subjects/3-0-ft_putstr/subject.fr.txt
new file mode 100644
index 0000000..94183ee
--- /dev/null
+++ b/exam00/subjects/3-0-ft_putstr/subject.fr.txt
@@ -0,0 +1,12 @@
+Assignment name : ft_putstr
+Expected files : ft_putstr.c
+Allowed functions: write
+--------------------------------------------------------------------------------
+
+Écrire une fonction qui affiche une chaîne de caractères sur la sortie standard.
+
+Le pointeur passé à la fonction est l'adresse du premier caractère de la chaîne.
+
+Elle devra être prototypée de la façon suivante :
+
+void ft_putstr(char *str);
diff --git a/exam00/subjects/4-0-ft_strrev/subject.en.txt b/exam00/subjects/4-0-ft_strrev/subject.en.txt
new file mode 100644
index 0000000..6c31580
--- /dev/null
+++ b/exam00/subjects/4-0-ft_strrev/subject.en.txt
@@ -0,0 +1,12 @@
+Assignment name : ft_strrev
+Expected files : ft_strrev.c
+Allowed functions:
+--------------------------------------------------------------------------------
+
+Write a function that reverses a string by modifying it.
+
+It must return its parameter.
+
+Your function must be declared as follows:
+
+char *ft_strrev(char *str);
diff --git a/exam00/subjects/4-0-ft_strrev/subject.fr.txt b/exam00/subjects/4-0-ft_strrev/subject.fr.txt
new file mode 100644
index 0000000..f6eb115
--- /dev/null
+++ b/exam00/subjects/4-0-ft_strrev/subject.fr.txt
@@ -0,0 +1,12 @@
+Assignment name : ft_strrev
+Expected files : ft_strrev.c
+Allowed functions:
+--------------------------------------------------------------------------------
+
+Écrire une fonction qui inverse une chaîne de caractères en la modifiant.
+
+Elle devra renvoyer son paramètre.
+
+Votre fonction devra être prototypée de la façon suivante :
+
+char *ft_strrev(char *str);
diff --git a/exam00/subjects/5-0-ft_atoi/subject.en.txt b/exam00/subjects/5-0-ft_atoi/subject.en.txt
new file mode 100644
index 0000000..ebfe92b
--- /dev/null
+++ b/exam00/subjects/5-0-ft_atoi/subject.en.txt
@@ -0,0 +1,13 @@
+Assignment name : ft_atoi
+Expected files : ft_atoi.c
+Allowed functions: None
+--------------------------------------------------------------------------------
+
+Write a function that converts the string argument str to an integer (type int)
+and returns it.
+
+It works much like the standard atoi(const char *str) function, see the man.
+
+Your function must be declared as follows:
+
+int ft_atoi(const char *str);
diff --git a/exam00/subjects/5-0-ft_atoi/subject.fr.txt b/exam00/subjects/5-0-ft_atoi/subject.fr.txt
new file mode 100644
index 0000000..2c9977c
--- /dev/null
+++ b/exam00/subjects/5-0-ft_atoi/subject.fr.txt
@@ -0,0 +1,12 @@
+Assignment name : ft_atoi
+Expected files : ft_atoi.c
+Allowed functions: None
+--------------------------------------------------------------------------------
+
+Écrire une fonction qui convertit une chaîne en un entier (type int) et le retourne.
+
+Marche comme la fonction standard atoi(const char *str), voir le man.
+
+La fonction doit être prototypée comme suit:
+
+int ft_atoi(const char *str);
diff --git a/exam00/subjects/5-1-ft_atoi/subject.en.txt b/exam00/subjects/5-1-ft_atoi/subject.en.txt
new file mode 100644
index 0000000..ebfe92b
--- /dev/null
+++ b/exam00/subjects/5-1-ft_atoi/subject.en.txt
@@ -0,0 +1,13 @@
+Assignment name : ft_atoi
+Expected files : ft_atoi.c
+Allowed functions: None
+--------------------------------------------------------------------------------
+
+Write a function that converts the string argument str to an integer (type int)
+and returns it.
+
+It works much like the standard atoi(const char *str) function, see the man.
+
+Your function must be declared as follows:
+
+int ft_atoi(const char *str);
diff --git a/exam00/subjects/5-1-ft_atoi/subject.fr.txt b/exam00/subjects/5-1-ft_atoi/subject.fr.txt
new file mode 100644
index 0000000..2c9977c
--- /dev/null
+++ b/exam00/subjects/5-1-ft_atoi/subject.fr.txt
@@ -0,0 +1,12 @@
+Assignment name : ft_atoi
+Expected files : ft_atoi.c
+Allowed functions: None
+--------------------------------------------------------------------------------
+
+Écrire une fonction qui convertit une chaîne en un entier (type int) et le retourne.
+
+Marche comme la fonction standard atoi(const char *str), voir le man.
+
+La fonction doit être prototypée comme suit:
+
+int ft_atoi(const char *str);
diff --git a/exam00/traces/0-0-only_z.trace.txt b/exam00/traces/0-0-only_z.trace.txt
new file mode 100644
index 0000000..10c99b3
--- /dev/null
+++ b/exam00/traces/0-0-only_z.trace.txt
@@ -0,0 +1,47 @@
+= Host-specific information ====================================================
+$> hostname; uname -msr
+e-r3-p2.s19.be
+Darwin 16.7.0 x86_64
+$> date
+Fri Jul 5 18:27:00 CEST 2019
+$> gcc --version
+Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
+Apple LLVM version 9.0.0 (clang-900.0.39.2)
+Target: x86_64-apple-darwin16.7.0
+Thread model: posix
+InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
+$> clang --version
+Apple LLVM version 9.0.0 (clang-900.0.39.2)
+Target: x86_64-apple-darwin16.7.0
+Thread model: posix
+InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
+
+= User files collection ========================================================
+Collecting user files from Vogsphere
+Repository URL: auto-exam/2019/c-piscine-exam-00/exam_20190705/cacharle
+
+= Git history ==================================================================
+$> git -C /var/folders/g6/h_bg9_59611fps0h1qj_5wn00000gq/T/tmp9Zd5au/user log --pretty='%H - %an, %ad : %s'
+1ea27768767e32d773e78820d481b20a4d108c5b - Exam 42, Fri Jul 5 18:23:38 2019 +0200 : exam only_z
+
+= Collected files ==========================================
+$> ls -lAR /var/folders/g6/h_bg9_59611fps0h1qj_5wn00000gq/T/tmp9Zd5au/user
+total 8
+-rw-r--r-- 1 deepthought deepthought 205 Jul 5 18:27 __GIT_HISTORY
+drwxr-xr-x 3 deepthought deepthought 102 Jul 5 18:27 only_z
+
+/var/folders/g6/h_bg9_59611fps0h1qj_5wn00000gq/T/tmp9Zd5au/user/only_z:
+total 8
+-rw-r--r-- 1 deepthought deepthought 85 Jul 5 18:27 only_z.c
+
+= only_z =======================================================================
+$> gcc -Wextra -Wall -Werror only_z.c -o user_exe
+
+= Test 1 ===================================================
+$> ./u9ozzm9nofxo5ratvr118fdc
+$> diff -U 3 user_output_test1 test1.output | cat -e
+
+Diff OK :D
+Grade: 1
+
+= Final grade: 1 ===============================================================
diff --git a/exam00/traces/1-0-ft_countdown.trace.txt b/exam00/traces/1-0-ft_countdown.trace.txt
new file mode 100644
index 0000000..af6adf8
--- /dev/null
+++ b/exam00/traces/1-0-ft_countdown.trace.txt
@@ -0,0 +1,53 @@
+= Host-specific information ====================================================
+$> hostname; uname -msr
+e-r3-p3.s19.be
+Darwin 16.7.0 x86_64
+$> date
+Fri Jul 5 18:39:16 CEST 2019
+$> gcc --version
+Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
+Apple LLVM version 9.0.0 (clang-900.0.39.2)
+Target: x86_64-apple-darwin16.7.0
+Thread model: posix
+InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
+$> clang --version
+Apple LLVM version 9.0.0 (clang-900.0.39.2)
+Target: x86_64-apple-darwin16.7.0
+Thread model: posix
+InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
+
+= User files collection ========================================================
+Collecting user files from Vogsphere
+Repository URL: auto-exam/2019/c-piscine-exam-00/exam_20190705/cacharle
+
+= Git history ==================================================================
+$> git -C /var/folders/k2/w11t1l8x7yz1sljm2w6ctr0m0000gq/T/tmpX7leMe/user log --pretty='%H - %an, %ad : %s'
+1bff6951e5d37fb9f911e6cf93afdb9a2a079a64 - Exam 42, Fri Jul 5 18:38:16 2019 +0200 : exam00 ft_countdown
+1ea27768767e32d773e78820d481b20a4d108c5b - Exam 42, Fri Jul 5 18:23:38 2019 +0200 : exam only_z
+