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,8 @@
$> ./aff_z "abc" | cat -e
z$
$> ./aff_z "dubO a POIL" | cat -e
z$
$> ./aff_z "zaz sent le poney" | cat -e
z$
$> ./aff_z | cat -e
z$

View File

@@ -0,0 +1,21 @@
Assignment name : aff_z
Expected files : aff_z.c
Allowed functions: write
--------------------------------------------------------------------------------
Write a program that takes a string, and displays the first 'z'
character it encounters in it, followed by a newline. If there are no
'z' characters in the string, the program writes 'z' followed
by a newline. If the number of parameters is not 1, the program displays
'z' followed by a newline.
Example:
$> ./aff_a "abc" | cat -e
z$
$> ./aff_a "RaInB0w d4Sh!" | cat -e
z$
$> ./aff_a "ThE C4k3 Is a L|3" | cat -e
z$
$> ./aff_a | cat -e
z$

View File

@@ -0,0 +1,22 @@
Assignment name : aff_z
Expected files : aff_z.c
Allowed functions: write
--------------------------------------------------------------------------------
Écrire un programme qui prend en paramètre une chaîne de caractères, et qui
affiche sur la sortie standard le premier caractère 'z' rencontré dans
cette chaîne, suivi de '\n'. Si aucun 'z'
n'est rencontré dans la chaîne, le programme affiche 'z' suivi de
'\n'. Si le nombre de paramètres est différent de 1, le
programme affiche 'z' suivi de '\n'.
Exemple:
$> ./aff_z "abc" | cat -e
z$
$> ./aff_z "dubO a POIL" | cat -e
z$
$> ./aff_z "zaz sent le poney" | cat -e
z$
$> ./aff_z | cat -e
z$

View File

@@ -0,0 +1,19 @@
Exercitiu : aff_z
Fisiere de iesire : aff_z.c
Functii autorizate : write
--------------------------------------------------------------------------------
Scrieti un program ce ia ca parametru un sir de caractere, si care afiseaza la
iesirea standard primul caracter 'z' intalnit in acest sir, urmat de '\n'. Daca
nu este intalnit niciun caracter 'z', programul va afisa 'z' urmat de '\n'. Daca
numarul de parametri este diferit de 1, programul va afisa 'z' urmat de '\n'.
Example:
$> ./aff_z "abc" | cat -e
z$
$> ./aff_z "dubO a POIL" | cat -e
z$
$> ./aff_z "zaz sent le poney" | cat -e
z$
$> ./aff_z | cat -e
z$

View File

@@ -0,0 +1,9 @@
$> ./expand_str "vous voyez c'est facile d'afficher la meme chose" | cat -e
vous voyez c'est facile d'afficher la meme chose$
$> ./expand_str " seulement la c'est plus dur " | cat -e
seulement la c'est plus dur$
$> ./expand_str "comme c'est cocasse" "vous avez entendu, Mathilde ?" | cat -e
$
$> ./expand_str "" | cat -e
$
$>

View File

@@ -0,0 +1,26 @@
Assignment name : expand_str
Expected files : expand_str.c
Allowed functions: write
--------------------------------------------------------------------------------
Write a program that takes a string and displays it with exactly three spaces
between each word, with no spaces or tabs either at the beginning or the end,
followed by a newline.
A word is a section of string delimited either by spaces/tabs, or by the
start/end of the string.
If the number of parameters is not 1, or if there are no words, simply display
a newline.
Examples:
$> ./epur_str "See? It's easy to print the same thing" | cat -e
See? It's easy to print the same thing$
$> ./epur_str " this time it will be more complex " | cat -e
this time it will be more complex$
$> ./epur_str "No S*** Sherlock..." "nAw S*** ShErLaWQ..." | cat -e
$
$> ./epur_str "" | cat -e
$
$>

View File

@@ -0,0 +1,26 @@
Assignment name : expand_str
Expected files : expand_str.c
Allowed functions: write
--------------------------------------------------------------------------------
Écrire un programme qui prend une chaîne de caractères en paramètre, et qui
affiche cette chaîne avec exactement trois espaces entre chaque mot, sans
espaces ou tabulations ni au début ni à la fin de la chaîne, suivie d'un '\n'.
On appelle "mot" une portion de chaîne de caractères délimitée soit par des
espaces et/ou des tabulations, soit par le début / fin de la chaîne.
Si le nombre de paramètres transmis est différent de 1, ou s'il n'y a aucun mot
à afficher, le programme affiche '\n'.
Exemple:
$> ./expand_str "vous voyez c'est facile d'afficher la meme chose" | cat -e
vous voyez c'est facile d'afficher la meme chose$
$> ./expand_str " seulement la c'est plus dur " | cat -e
seulement la c'est plus dur$
$> ./expand_str "comme c'est cocasse" "vous avez entendu, Mathilde ?" | cat -e
$
$> ./expand_str "" | cat -e
$
$>

View File

@@ -0,0 +1,25 @@
Exercitiu : expand_str
Fisiere de iesire : expand_str.c
Functii autorizate : write
--------------------------------------------------------------------------------
Scrieti un program care ia ca parametru un sir de caractere si afiseaza acest sir
cu exact trei spatii intre fiecare cuvinte, fara spatii ori tabulatori la inceputul
ori sfarsitul sirului, urmat de un '\n'.
Numim "cuvant" o portiune a sirului de caractere delimitat de spatii sau/si tabulatori,
atat la inceputul cat si la sfarsitul sirului.
Daca numarul de parametri transmis este diferit de 1, sau daca nu este niciun cuvant
de afisat, programul va afisa '\n'.
Exemplu:
$> ./expand_str "vous voyez c'est facile d'afficher la meme chose" | cat -e
vous voyez c'est facile d'afficher la meme chose$
$> ./expand_str " seulement la c'est plus dur " | cat -e
seulement la c'est plus dur$
$> ./expand_str "comme c'est cocasse" "vous avez entendu, Mathilde ?" | cat -e
$
$> ./expand_str "" | cat -e
$
$>

View File

@@ -0,0 +1,16 @@
$> ./fprime 225225 | cat -e
3*3*5*5*7*11*13$
$> ./fprime 8333325 | cat -e
3*3*5*5*7*11*13*37$
$> ./fprime 9539 | cat -e
9539$
$> ./fprime 804577 | cat -e
804577$
$> ./fprime 42 | cat -e
2*3*7$
$> ./fprime 1 | cat -e
1$
$> ./fprime | cat -e
$
$> ./fprime 42 21 | cat -e
$

View File

@@ -0,0 +1,33 @@
Assignment name : fprime
Expected files : fprime.c
Allowed functions: printf, atoi
--------------------------------------------------------------------------------
Write a program that takes a positive int and displays its prime factors on the
standard output, followed by a newline.
Factors must be displayed in ascending order and separated by '*', so that
the expression in the output gives the right result.
If the number of parameters is not 1, simply display a newline.
The input, when there's one, will be valid.
Examples:
$> ./fprime 225225 | cat -e
3*3*5*5*7*11*13$
$> ./fprime 8333325 | cat -e
3*3*5*5*7*11*13*37$
$> ./fprime 9539 | cat -e
9539$
$> ./fprime 804577 | cat -e
804577$
$> ./fprime 42 | cat -e
2*3*7$
$> ./fprime 1 | cat -e
1$
$> ./fprime | cat -e
$
$> ./fprime 42 21 | cat -e
$

View File

@@ -0,0 +1,35 @@
Assignment name : fprime
Expected files : fprime.c
Allowed functions: printf, atoi
--------------------------------------------------------------------------------
Écrire un programme qui prend en paramètre un entier strictement positif, et
qui affiche sa décomposition en facteurs premiers sur la sortie standard,
suivie d'un '\n'.
Les facteurs doivent être affichés dans l'ordre croissant et séparés par des
'*', de telle sorte que l'expression affichée donne le bon résultat.
Si le nombre de paramètres est différent de 1, le programme doit afficher '\n'.
L'entrée, quand elle est passée, sera toujours un nombre valide sans caractères
parasites.
Exemple:
$> ./fprime 225225 | cat -e
3*3*5*5*7*11*13$
$> ./fprime 8333325 | cat -e
3*3*5*5*7*11*13*37$
$> ./fprime 9539 | cat -e
9539$
$> ./fprime 804577 | cat -e
804577$
$> ./fprime 42 | cat -e
2*3*7$
$> ./fprime 1 | cat -e
1$
$> ./fprime | cat -e
$
$> ./fprime 42 21 | cat -e
$

View File

@@ -0,0 +1,34 @@
Exercitiu : fprime
Fisiere de iesire : fprime.c
Functii autorizate : printf, atoi
--------------------------------------------------------------------------------
Scrieti un program ce ia ca parametru un intreg strict pozitiv si care va afisa
descompunerea in factori primi la iesirea standard, urmat de un '\n'.
Factorii trebuie sa fie afisati in ordine crescatoare si separati de '*',
astfel incat expresia afisata sa dea rezultatul corect.
Daca numarul de parametri este diferit de 1, programul va afisa '\n'.
Parametrul de intrare, cand este transmis, va fi totdeauna un numar valid
fara caractere neconforme.
Exemplu:
$> ./fprime 225225 | cat -e
3*3*5*5*7*11*13$
$> ./fprime 8333325 | cat -e
3*3*5*5*7*11*13*37$
$> ./fprime 9539 | cat -e
9539$
$> ./fprime 804577 | cat -e
804577$
$> ./fprime 42 | cat -e
2*3*7$
$> ./fprime 1 | cat -e
1$
$> ./fprime | cat -e
$
$> ./fprime 42 21 | cat -e
$

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);

View File

@@ -0,0 +1,12 @@
Exercitiu : ft_swap
Fisiere de iesire : ft_swap.c
Functii autorizate :
--------------------------------------------------------------------------------
Scrieti o functie ce schimba valoarea a doi intregi ale caror adrese sunt
transmise ca parametri.
Ea trebuie sa aibaprototipul urmator:
void ft_swap(int *a, int *b);

View File

@@ -0,0 +1,11 @@
Assignment name : ft_swap
Expected files : ft_swap.c
Allowed functions:
--------------------------------------------------------------------------------
Write a function that swaps the contents of two integers the adresses of which
are passed as parameters.
Your function must be declared as follows:
void ft_swap(int *a, int *b);

View File

@@ -0,0 +1,11 @@
Assignment name : ft_swap
Expected files : ft_swap.c
Allowed functions:
--------------------------------------------------------------------------------
Écrire une fonction qui échange le contenu de deux entiers dont les adresses
sont passées en paramêtres.
Elle devra être prototypée de la façon suivante :
void ft_swap(int *a, int *b);

View File

@@ -0,0 +1,12 @@
Exercitiu : ft_swap
Fisiere de iesire : ft_swap.c
Functii autorizate :
--------------------------------------------------------------------------------
Scrieti o functie ce schimba valoarea a doi intregi ale caror adrese sunt
transmise ca parametri.
Ea trebuie sa aibaprototipul urmator:
void ft_swap(int *a, int *b);

View File

@@ -0,0 +1,9 @@
$>./inter "padinton" "paqefwtdjetyiytjneytjoeyjnejeyj" | cat -e
padinto$
$>./inter ddf6vewg64f gtwthgdwthdwfteewhrtag6h4ffdhsd | cat -e
df6ewg4$
$>./inter "rien" "cette phrase ne cache rien" | cat -e
rien$
$>./inter | cat -e
$

View File

@@ -0,0 +1,23 @@
Assignment name : inter
Expected files : inter.c
Allowed functions: write
--------------------------------------------------------------------------------
Write a program that takes two strings and displays, without doubles, the
characters that appear in both strings, in the order they appear in the first
one.
The display will be followed by a \n.
If the number of arguments is not 2, the program displays \n.
Examples:
$>./inter "padinton" "paqefwtdjetyiytjneytjoeyjnejeyj" | cat -e
padinto$
$>./inter ddf6vewg64f gtwthgdwthdwfteewhrtag6h4ffdhsd | cat -e
df6ewg4$
$>./inter "nothing" "This sentence hides nothing" | cat -e
nothing$
$>./inter | cat -e
$

View File

@@ -0,0 +1,23 @@
Assignment name : inter
Expected files : inter.c
Allowed functions: write
--------------------------------------------------------------------------------
Écrire un programme qui prend en paramètres deux chaînes de caractères et qui
affiche sans doublon les caractères communs aux deux chaînes.
L'affichage se fera dans l'ordre d'apparition dans la premiere chaîne.
L'affichage doit être suivi d'un '\n'.
Si le nombre de paramètres transmis est différent de 2, le programme affiche
'\n'.
Exemples:
$>./inter "padinton" "paqefwtdjetyiytjneytjoeyjnejeyj" | cat -e
padinto$
$>./inter ddf6vewg64f gtwthgdwthdwfteewhrtag6h4ffdhsd | cat -e
df6ewg4$
$>./inter "rien" "cette phrase ne cache rien" | cat -e
rien$
$>./inter | cat -e
$

View File

@@ -0,0 +1,22 @@
Exercitiu : inter
Fisiere de iesire : inter.c
Functii autorizate : write
--------------------------------------------------------------------------------
Scrieti un program ce ia ca parametru doua siruri de caractere si care afiseaza
caracterele comune celor doua siruri, fara a le dubla.
Afisarea se va face in ordinea aparitiei din primul sir, urmata de '\n'.
Daca numarul ed parametri transmis este diferit de 2, programul va afisa '\n'.
Exemple:
$>./inter "padinton" "paqefwtdjetyiytjneytjoeyjnejeyj" | cat -e
padinto$
$>./inter ddf6vewg64f gtwthgdwthdwfteewhrtag6h4ffdhsd | cat -e
df6ewg4$
$>./inter "rien" "cette phrase ne cache rien" | cat -e
rien$
$>./inter | cat -e
$