/* IFT1169 Automne 2025 16 septembre 2025, version 1.00 Mohamed Lokbani Ce programme permet de générer un nombre aléatoire dans l'intervalle [1,6]. Il simule un jet de dé non truqué à 6 faces à chance égale d'être choisie. Exercice -1- ------------ Modifier le programme pour obtenir toujours le même résultat. La réponse est dans les explications ci-dessous. Exercice -2- ------------ Modifier le programme pour choisir une lettre parmi les 6 lettres [a,b,c,d,e,f]. La réponse consiste à réaliser un tableau de correspondance lettres/nombres où chaque nombre est associé à une lettre. Si on obtient le nombre 1, on affiche a, 2 va afficher b, etc. */ #include #include #include int main() { /* Cette étape permet d'initialiser le programme qui génère des nombres aléatoires. Pour cela, nous devons initialiser chaque fois avec la variable seed (graine) avec une nouvelle valeur afin d’obtenir un tirage différent après chaque exécution du programme. On utilise pour cela l’horloge du système pour garantir une valeur unique. Et si l'on veut reproduire les mêmes résultats après chaque exécution? Il suffit d'initialiser la variable init_engin avec la même valeur, par exemple : std::default_random_engine init_engin(12345); En procédant ainsi, on s'assure d'avoir toujours le même tirage. */ unsigned seed = std::chrono::steady_clock::now().time_since_epoch().count(); std::default_random_engine init_engin(seed); /* Nous allons définir les règles qui permettent de garantir que chaque nombre dans l'intervalle [1,6] a une chance égale d'être choisi. */ std::uniform_int_distribution distribution(1, 6); /* Cette étape permet de générer proprement parlé le nombre aléatoire dans l'intervalle [1,6]. */ int resultat = distribution(init_engin); std::cout << "Le résultat de ce jet de dé est : " << resultat << std::endl; return 0; }