Skip to content

Ressources

1 Topics 4 Posts

This category can be followed from the open social web via the handle [email protected]

  • Générateur de combinaisons aléatoires

    4
    0 Votes
    4 Posts
    5k Views
    AzadA
    <p>Bonjour, je vous partage un de mes tout premiers codes, que j'avais fais pour m'entrainer à la base.<br/> Celui-ci n'est pas forcément optimisé, c'est pas nécessaire de le faire ceci dit.<br/><br/> Ce code va simplement générer toutes les combinaisons aléatoire jusqu'à 5 caractères, ce qui représente 62^5 entrées, dans un fichier texte.</p> <p>Je n'ai pas fais plus car ça prend déjà une dizaine de giga et beaucoup d'heures pour aller jusqu'à là. </p> <p> Vous devez simplement créer dans le dossier du code source texte les fichiers texte suivants : 1.txt  / 2.txt / 3.txt / 4.txt / 5.txt</p> <pre class="ipsCode prettyprint lang-nocode"> #include <iostream> #include <string> #include <fstream> using namespace std; int main() { string caractere[62] = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}; string combinaison; int car1, car2, car3, car4, car5, car6, car7; ofstream fichier1("1.txt", ios::out | ios::trunc); if(fichier1) { //Calcul de toutes les combinaisons à 1 caractères : 62 for(car1=0; car1!=62; car1++) { combinaison = caractere[car1]; cout &lt;&lt; combinaison &lt;&lt; endl; fichier1 &lt;&lt; combinaison &lt;&lt; endl; } fichier1.close(); } else { cout &lt;&lt; "Impossible d'ouvrir le fichier !" &lt;&lt; endl; } ofstream fichier2("2.txt", ios::out | ios::trunc); if(fichier2) { //Calcul de toutes les combinaisons à 2 caractères : 62² for(car1=0; car1!=62; car1++) { for(car2=0; car2!=62; car2++) { combinaison = caractere[car1] + caractere[car2]; cout &lt;&lt; combinaison &lt;&lt; endl; fichier2 &lt;&lt; combinaison &lt;&lt; endl; } } fichier2.close(); } else { cout &lt;&lt; "Impossible d'ouvrir le fichier !" &lt;&lt; endl; } ofstream fichier3("3.txt", ios::out | ios::trunc); if(fichier3) { //Calcul de toutes les combinaisons à 3 caractères : 62^3 for(car1=0; car1!=62; car1++) { for(car2=0; car2!=62; car2++) { for(car3=0; car3!=62; car3++) { combinaison = caractere[car1] + caractere[car2] + caractere[car3]; cout &lt;&lt; combinaison &lt;&lt; endl; fichier3 &lt;&lt; combinaison &lt;&lt; endl; } } } fichier3.close(); } else { cout &lt;&lt; "Impossible d'ouvrir le fichier !" &lt;&lt; endl; } ofstream fichier4("4.txt", ios::out | ios::trunc); if(fichier4) { //Calcul de toutes les combinaisons à 4 caractères : 62^4 for(car1=0; car1!=62; car1++) { for(car2=0; car2!=62; car2++) { for(car3=0; car3!=62; car3++) { for(car4=0; car4!=62; car4++) { combinaison = caractere[car1] + caractere[car2] + caractere[car3] + caractere[car4]; cout &lt;&lt; combinaison &lt;&lt; endl; fichier4 &lt;&lt; combinaison &lt;&lt; endl; } } } } fichier4.close(); } else { cout &lt;&lt; "Impossible d'ouvrir le fichier !" &lt;&lt; endl; } ofstream fichier5("5.txt", ios::out | ios::trunc); if(fichier5) { //Calcul de toutes les combinaisons à 5 caractères : 62^5 for(car1=0; car1!=62; car1++) { for(car2=0; car2!=62; car2++) { for(car3=0; car3!=62; car3++) { for(car4=0; car4!=62; car4++) { for(car5=0; car5!=62; car5++) { combinaison = caractere[car1] + caractere[car2] + caractere[car3] + caractere[car4] + caractere[car5]; cout &lt;&lt; combinaison &lt;&lt; endl; fichier5 &lt;&lt; combinaison &lt;&lt; endl; } } } } } fichier5.close(); } else { cout &lt;&lt; "Impossible d'ouvrir le fichier !" &lt;&lt; endl; } } </pre> <p>Ca remonte loin, ce bout de code. A l'époque ça m'avait beaucoup amusé.<br/> Il peut servir d'exemple si vous souhaitez faire de l'ouverture/écriture de fichier.</p>