/* IFT1169 - démonstration #11 - exercice 02 - 08-avril -2006 v1.01 M.Lokbani - l'énoncé+solution + gcc3.4.2 à partir de l'énoncé de l'examen Final session Hiver 2004 - IFT1166 - 24-avril -2004 v1.00 M.Lokbani - code & comments Final H04 contact: lokbani@iro.umontreal.ca Copyright (C) 1999-2006 Université de Montréal Département d'informatique et de Recherche Opérationnelle Mohamed Lokbani -- Tous Droits Réservés -- All Rights Reserved -- Description: ------------ Écrire un programme qui demande en entrée une série de mots tant qu'il n'a pas rencontré le mot clé Fin. Il doit trier par la suite par ordre alphabétique croissant cette série de mots. Et finalement il ne doit afficher en sortie que les 3 premiers mots de cette série triée. Vous devez utiliser les conteneurs STL et les algorithmes appropriés et cela sans oublier d'inclure les fichiers d'entête appropriés. Il sera tenu compte lors de la correction de la clarté et de la compacité de votre programme. */ #include #include #include #include using namespace std; int main() { vector names; // On lit et on stocke dans le veceur "names" tant qu'on n'a // pas rencontré le mot clé "FIN" pour arrêter la lecture. for (;;){ string n; cin >> n; if (n == "Fin") break; names.push_back(n); } // Trier le tableau en utilisant le critère par défaut (ordre croissant) sort(names.begin(), names.end()); // On n'affiche en sortie que les 3 premièrs mots après avoir trié le // le tableau. On suppose que nous allons lire plus que 3 éléments. for (int i=0; i < 3; i++) cout << names[i] << endl; return 0; }