Vous êtes sur la page 1sur 2

Travaux Pratiques 2

1) Considérons une liste simplement chainée d’entiers.


a) Proposer une fonction nommée affichePairImpair qui affiche les éléments de la
liste qui sont des nombres pairs et ceux qui ne sont pas des nombres pairs.
b) Ecrire une fonction qui affiche les éléments de la liste qui sont des nombres
premiers.
c) Proposer ensuite une fonction qui supprime toutes les occurrences d’un élément
quelconque entré au clavier par l’utilisateur.

2) Soit une liste circulaire d’éléments de type float, implémentée à l’aide d’une liste
doublement chaînée.
a) Définir la structure permettant d’implémenter cette liste.
b) Ecrire une fonction appelée supp_doublons qui supprime les doublons
(éléments apparaissant plusieurs fois) dans une liste L1 de float dont l’adresse lui
est passée en paramètre en ne laissant que la première occurrence des éléments
répétés. Par exemple, la liste 1.9, 3.5, 5.7, 8.4, 10.6, 5.7, 3.5 deviendra 1.9, 3.5,
5.7, 8.4, 10.6 avec 1.9 en tête de liste. Ainsi, seule la première occurrence des
éléments apparaissant plusieurs fois dans la liste, est maintenue.

3) On représente une chaîne de caractères sous la forme d’une liste simplement


chaînée. L’information contenue dans une cellule est réduite à un seul caractère.
a) Définir la structure représentant une liste chaînée de caractères.
b) Définir une fonction compte_voyelle qui affiche le nombre de chaque caractère
voyelle apparaissant dans la chaîne de caractères.
c) Ecrire une fonction majuscule qui transforme tous les caractères en leur
équivalent majuscule.

4) On considère deux listes d’entiers simplement chainées L1 et L2.


a) Ecrire une fonction nommée produits_elements qui renvoie l’adresse d’une
3ième liste contenant les produits des éléments de L1 et L2 que l’on suppose
être de même longueur.
b) Ecrire une fonction qui recherche dans la nouvelle liste, un élément entré au
clavier par l’utilisateur.
c) Ecrire une fonction qui affiche les éléments de cette nouvelle liste qui sont des
nombres premiers.

5) Soit une liste d’éléments de type float, implémentée à l’aide d’une liste doublement
chaînée.
a) Définir les deux structures permettant d’implémenter une liste doublement
chainée.
b) Ecrire une fonction somme_element qui prend en paramètre une liste et qui
renvoie un réel (float) contenant la somme des éléments de la liste.
c) Ecrire une fonction nommée affiche_parfait qui affiche les nombres parfaits
se trouvant dans une liste doublement chainée d’entiers.

6) On considère deux listes d’entiers simplement chainées L1 et L2 de taille n. On


suppose que chaque liste stocke les valeurs d’un vecteur d’éléments de type entier.
a) Définir la structure représentant cette liste chaînée
b) Ecrire une fonction Prod_scal qui retourne le produit scalaire des deux vecteurs.
c) Ecrire une fonction qui affiche les éléments qui sont des nombres premiers dans
l’un des vecteurs représenté par la liste chainée. La fonction affichera qu’il n’y a
pas d’élément premier si c’est le cas.