Post

TD08 Tableaux 1D

Télécharger le TD08 Tableaux 1D en pdf

Pages : 1 2

Page 1 : Pré-ING1Semestre 1 - 2023/2024TD Informatique 08 : TableauxConsignes générales : N’oubliez pas pour ce TD comme pour les suivants de vous creer un répertoire consacré au TD etd’enregister vos codes desssus.On rappelle que les commandes à taper dans le terminal pour compiler puis éxécuter votre programme C :— Pour compiler : gcc -o nomexecutable nomprogramme.c— Pour exécuter : ./nomexecutableIl est conseillé de toujours écrire l’algorithme en pseudo-code avant de passer sur machine.Exercice 1 Fonctions de base1. Définir une constante SIZE dont la valeur est 10.2. Dans le programme principal, déclarer un taleau d’entiers de taille SIZE.3. Écrire une procédure printArray qui prends deux arguments :— Un tableau d’entiers— Un entier qui correspond à la taille de ce tableau.Cette procédure doit afficher les éléments du tableau. La tester avec le tableau défini précédement. Qu’obtient-on ?4. Écrire une procédure fillArray qui prend les même arguments que la procédure printArray. Cette procédure doitpermettre de remplir le tableau avec des valeurs saisies par l’utilisateur.5. Tester les procédures en remplissant puis affichant le tableau.Exercice 2 Gestion de notesNous allons écrire un programme pour gérer les notes d’une classe de 25 élèves.1. Définir une constante SIZE de valeur 25.2. Dans le programme principal, déclarer un tableau de 25 cases qui servira à stocker les notes des étudiants.3. Récupérer la procédure de l’exercice précédent permettant d’afficher un tableau. La modifier si besoin pour qu’ellepuisse afficher le tableau de cet exercice.4. Récupérer la procédure fillArray et la modifier si besoin pour qu’elle puisse remplir le tableau avec des valeurs aléa-toires entre 0 et 20. Rappel : En langage C, on génère des nombres aléatoires avec la fonction rand qu’il faut initialiseravec la commande srand time NULL . Pour ce faire, il faut inclure les bibliothèques time.h et stdlib.h.5. Écrire une fonction averageArrayint tab, int size qui retourne la moyenne des éléments d’un tableau passéen paramètre. Tester la fonction en affichant la moyenne de la classe.6. Écrire une fonction maxArrayint tab, int size qui retourne l’élément maximum contenu dans le tableau passéen paramètre.7. Écrire une fonction minArrayint tab, int size qui retourne l’élément minimum contenu dans le tableau passéen paramètre.8. Afficher les valeurs minimum et maximum du tableau de notes.9. Écrire une fonction searchElmtint tab, int size, int elmt qui parcours le tableau tab et recherche si lavaleur elmt est dans le tableau. Cette fonction retourne -1 si l’élément recherché n’est pas dans le tableau et le numérode l’indice où se trouve l’élément s’il est dans le tableau si l’élément existe plusieurs fois, on renverra l’indice le pluspetit. Vérifier avec cette fonction si un étudiant a eu la note de 15.10. Écrire une fonction badMarksint tab, int size qui compte le nombre d’éléments inférieurs à 7 dans le tableaupassé en paramètre. Afficher le nombre de notes inférieures à 7 dans le programme principal.Exercice 3 tableau positif1. Récupérer du TP précédent ou écrire à nouveau la fonction qui retourne la valeur absolue d’un nombre passé enparamètre.2. Dans votre programme principal, déclarer un tableau d’entiers de size 7.3. Remplir le tableau à l’aide de valeurs saisies par l’utilisateur.4. A l’aide de la fonction de valeur absolue, modifier les cases du tableau pour qu’elles ne comportent que des élémentspositifs. Afficher le tableau pour vérifier.Exercice 4 Pair/impair1

page 1

Page 2 : 1. Déclarer un tableau tabtotal de size 20 et le remplir avec des valeurs aléatoires entre 5 et 10. Afficher le tableau.2. Écrire une fonction evenArrayint tab, int size qui retourne le nombre de valeurs paires présentes dans tab.3. Créer deux autres tableaux tabeven et tabodd qui vont être remplis de la manière suivante :— tabeven va prendre toutes les valeurs paires de tabtotal— tabodd va prendre toutes les valeurs impaires de tabtotal4. Afficher les tableaux tabeven et tabodd uniquement les valeurs utiles mais pas forcément la totalité des tableaux.Exercice 5 Inversement de tableaux1. Dans le programme principal, déclarer un tableau de taille 15 et le remplir avec des valeurs aléatoires entre 0 et 10.Afficher le tableau.2. On veut "inverser" ce tableau, c’est à dire que la première valeur sera la dernière, la seconde l’avant dernière etc.— Inverser le tableau grâce à un tableau intermédiaire.— Inverser le tableau sans utiliser de second tableau.Exercice 6 tableau sans zéros1. Dans le programme principal, déclarer un tableau de taille 15 et le remplir avec des valeurs aléatoires entre 0 et 4.Afficher le tableau.2. Écrire une procédure removeZerosint tab, int size qui parcourt un tableau, et met les éléments qui valentzéro "à la fin du tableau".Par exemple le tableau : 1, 3, 0, 4, 0, 0, 2 deviendra 1, 3, 4, 2, 0, 0, 0.Vérifier la procédure en la testant avec le tableau de la question 1.2

page 2

Pages : 1 2

Le contenu de cet article est la propriété exclusive de son auteur.