diff --git a/short_exercises/serie_1.md b/short_exercises/serie_1.md new file mode 100644 index 0000000000000000000000000000000000000000..f14df09c6ecddd7ec1be5a5e660a3b6c3e6a6273 --- /dev/null +++ b/short_exercises/serie_1.md @@ -0,0 +1,126 @@ +# Petits exercices + +Écrire d'abord *sur papier* en pseudocode un algorithme permetant de réaliser +les petits exercices suivants. Puis uniquement *dans un second temps* les +implémenter en C. + +## Est unique? + +Écrire une fonction qui vérifie si un tableau d'entiers contient au moins un +doublon. + +Exemples: + +``` +{1, 5, 4, 2, 1, 2} -> vrai +{4, 2, 1, 5} -> faux +{0, 1, -1, -1} -> vrai +``` + +## Enlever les doublons + +Écrire une fonction qui prend un tabeau d'entiers en argument et retourne un +tableau où tous les doublons ont été retirés. + +Exemples: + +``` +{1, 5, 4, 2, 1, 2} -> {1, 5, 4, 2} +{4, 2, 1, 5} -> {4, 2, 1, 5} +{0, 1, -1, -1} -> {0, 1, -1} +``` + +## Compter le nombre d'occurrences d'un élément + +Écrire une fonction qui prend un en argument un tableau d'entiers et un entier, +$n$, et retourne le nombre de fois où $n$ apparaît dans le tableau. + +Exemples: + +``` +{1, 5, 4, 2, 1, 2}, 5 -> 1 +{4, 2, 1, 5, 1}, 1 -> 2 +{0, 1, -1, -1}, 2 -> 0 +``` + +## Déterminer quel élément a le plus d'occurrences + +Écrire une fonction qui prend un en argument un tableau d'entiers et détermine +quel est le nombre apparaissant le plus grand nombre de fois dans le tableau, +ainsi que le nombre de fois où il apparaît. Si des nombes son ex-aequo prendre +celui qui apparaît en premier dans le tableau. + +Exemples: + +``` +{4, 2, 1, 5, 1}, 1 -> 1, 2 +{0, 1, -1, -1, 0, 0}, 2 -> 0, 3 +{1, 5, 4, 2, 1, 2}, 1 -> 1, 2 +``` + +## Retirer la première occurence d'un élément dans un tableau + +Écrire une fonction qui prend un en argument un tableau d'entiers et un entier, +$n$, et retourne un tableau où la première occurence de $n$ est retirée. + +Exemples: + +``` +{1, 5, 4, 2, 1, 2}, 5 -> {1, 4, 2, 1, 2} +{4, 2, 1, 5}, 1 -> {4, 2, 5} +{0, 1, -1, -1}, -1 -> {0, 1, -1} +``` + +## Retirer toutes les occurence d'un élément dans un tableau + +Écrire une fonction qui prend un en argument un tableau d'entiers et un entier, +$n$, et retourne un tableau où toutes les occurences de $n$ sont retirées. + +Exemples: + +``` +{2, 1, 5, 4, 2, 1, 2}, 2 -> {1, 5, 4, 1} +{4, 2, 1, 5}, 1 -> {4, 2, 5} +{0, 1, -1, -1}, -1 -> {0, 1} +``` + +## Séparer un tableau en deux parties + +Écrire une fonction qui prend un tableau d'entiers en argument, ainsi qu'un +indice, $i$, et le sépare en deux à l'indice $i$. + +Exemples: + +``` +{2, 1, 5, 4, 2, 1, 2}, 2 -> {2, 1, 5}, {4, 2, 1, 2} +{4, 2, 1, 5}, 1 -> {4, 2}, {1, 5} +{0, 1, -1, -1}, 0 -> {0}, {1, -1, -1} +``` + + +## Séparer un tableau en deux parties, bis + +Écrire une fonction qui prend un tableau d'entiers en argument, ainsi qu'un +nombre, $n$, et le sépare en deux à la première occurence de l'élément $n$ s'il existe. + +Exemples: + +``` +{2, 1, 5, 4, 2, 1, 2}, 2 -> {2}, {1, 5, 4, 2, 1, 2} +{4, 2, 1, 5}, 1 -> {4, 2, 1}, {5} +{0, 1, -1, -1}, 2 -> {0, 1, -1, -1}, {} +``` + +## En minuscules + +Écrire une fonction qui prend une chaîne de caractères en entrée et retourne +une chaîne de caractères où toutes les lettres sont mises en minuscule. + +Exemples: + +``` +"Hello !" -> "hello !" +"WHAT IS HAPPENING" -> "what is happening" +"" -> "what is happening" +``` +