Exercices du cours C++
Téléchargement
Téléchargez ici les exercices à trous ainsi que leur corrigé
Sous-répertoire: pointeurs
Sous-répertoire: stack
- Une pile d'entiers - Exercice à trous stack.cpp
Corrigé stack.cpp
Programme stack.cpp:
Ecrire une classe pile d'entiers
ayant les caractéristiques suivantes:
- Repose sur un tableau de dimension n, n étant passé au
constructeur (allocation dynamique)
- Permet d'empiler et dépiler les données
- Une fonction
getLength()
permet de savoir
combien de données sont empilées
- Pareil, mais avec un mode debug - Exercice à trous stack-1.cpp
corrigé stack-1.cpp
Modifier le programme précédent en ajoutant une variable static debug afin de visualiser les appels de
constructeurs et de destructeurs si le mode debug est activé: vérifier les règles de portée
des variables.
Sous-répertoire: tableau1
- tableau1: Exercice à trous Makefile tableau.hpp tableau.cpp main.cpp
tableau1: Corrigé tableau.hpp tableau.cpp
Programme tableau.cpp: définir une classe tableau
ayant les caractéristiques suivantes:
- Repose sur un tableau de dimension n, n étant passé au
constructeur (allocation dynamique)
- Implémenter les opérateurs +=,-=,+,-
- On accède aux données à l'aide de l'opérateur
[]
. En cas de débordement, cet opérateur
imprime un message et ne fera rien de dangereux.
- Ce programme sera implémenté en utilisant la compilation séparée: un couple de fichiers .hpp, .cpp pour l'objet
Tableau et un fichier pour le programme main
- Importance du mot
explicit
: Partir du corrigé de l'exercice précédent, et supprimez
l'opérateur +=, dans sa version qui ajoute un entier. Cela ne compilera pas. Supprimez alors le mot explicit devant le constructeur. Tiens, ça compile.
Mais est-ce réellement une bonne idée ?
Sous-répertoire: tableau2
- tableau 2 corrigé code .hpp code .cpp code main, html .hpp html .cpp html main
Reprendre le programme précédent et introduire
deux fonctions-membres transform
, qui appliqueront une fonction donnée à tout le tableau. La fonction transform
aura comme paramètre
un objet-fonction. On déclarera donc deux objets-fonction, le premier calculera une homothétie, le second effectuera un écrètage.
Sous-répertoire: tableau3
Sous-répertoire: tableau4
Sous-répertoire: tableau5
Sous-répertoire: tableau7
Sous-répertoire: unique_ptr
Téléchargez les transparents et les exercices sur la stl
Emmanuel Courcelle <emmanuel.courcelle@inp-toulouse.fr>