Après les TP sur tri/recherche en mémoire et sur flux, ce TP combine ces compétences pour traiter des données textuelles stockées dans des fichiers.
Intégrer lecture de fichier, tri de contenu et recherche d'élément dans une architecture modulaire.
- lecture d'un fichier en mémoire ;
- tri de données ;
- recherche d'élément ;
- écriture du résultat dans un fichier ;
- modularisation (
trifich,rechfich).
- TP n°7 ;
- tri/recherche dans un tableau.
Écrire un programme qui :
- lit un fichier,
- trie son contenu,
- écrit le résultat trié,
- recherche un caractère donné dans un second fichier.
Lire le fichier alphabet.txt dans une structure en mémoire.
Trier le contenu lu et produire alphabet.ok.
Rechercher le caractère I dans mot.txt et afficher une position trouvée.
Vérifier :
- que
alphabet.okest trié, ; - que la position renvoyée est cohérente, ;
- que les erreurs d'ouverture sont gérées.
- Compilateur GNU C++ ;
- Système d'exploitation Linux, Mac OS X ou Ms-Windows ;
- Standard recommandé : C++11 ou supérieur.
Exemple 1 :
- entrée :
alphabet.txt; - sortie :
alphabet.okcontenant les caractères triés.
Exemple 2 :
- entrée :
mot.txt, recherche deI; - sortie : affichage d'une position de
I(ou-1si absent).
g++ -std=c++11 -Wall -Wextra -o testtr testtr.cxx rechfich.cxx trifich.cxxtrifich.h,trifich.cxx;rechfich.h,rechfich.cxx;testtr.cxx;README.md(protocole de test et résultats).
- Paramétrer les noms de fichiers à l'aide des arguments de ligne de commande ;
- Comparer le tri implémenté avec
std::sort.
- Exactitude des traitements ;
- Robustesse E/S et mémoire ;
- Qualité de la modularisation ;
- Qualité des tests et du README.