Partage
  • Partager sur Facebook
  • Partager sur Twitter

J'aimerai un peu d'aide

    26 février 2006 à 17:54:21

    Bonjour bonjour,
    Je voudrai que quelqu'un se charge de modifier mon code pour que les nombres aléatoires soit sortis vraiment au hasard

    Essayez par exemple de taper 8000 quand on vous demande de choisir le nombre maximum qui sortira au tirage:les nombres seront tres rapprochés.

    Donc ça m'enleverait une épine du pied si vous pouviez me rendre ce service.

    Diki
    #include <stdio.h>
    #include <stdlib.h>

    int main(int argc, char *argv[])
    {
    int nombreMystere1 = 0,nombreMystere2 = 0,nombreMystere3 = 0,nombreMystere4 = 0,nombreMystere5 = 0,menuChoisis = 0,menuChoisis2 = 0,continuer = 1 ,tirages = 0,tiragedoublon = 0 ,nombremaximum = 0;

    do
    {
    system("CLS");
        do
        {
        printf("v.1.3\t\t");
        printf("\t\t\t\n");
        printf("\t\t\t        MENU\n");
        printf("\t\t================================\n");
        printf("\t\t\t1-Effectuer un tirage\n");
        printf("\t\t\t     2-Credits\n");
        printf("\t\t================================\n");
        printf("\nVous avez effectue : %d tirage(s) \n\n", tirages);
        printf("Votre choix:");
        scanf("%d",&menuChoisis);
       
       
        system("CLS");
        if (menuChoisis != 1 && menuChoisis != 2)
        printf ("He ho!C'est pas un bon numero!\n");
        }while (menuChoisis != 1 && menuChoisis != 2);
       
        switch (menuChoisis)
        {
               case 1:
               printf("Choisissez le nombre maximum qui sortira au tirage:");
               scanf("%d",&nombremaximum);
               const long  MIN = 1,MAX = ("%d",nombremaximum);
               srand(time(NULL));
               nombreMystere1 = (rand() % (MAX - MIN + 1)) + MIN;
       
               srand(time(NULL));
               nombreMystere2 = (rand() % (MAX - MIN - 2)) + MIN;
       
               srand(time(NULL));
               nombreMystere3 = (rand() % (MAX - MIN - 3)) + MIN;
       
               srand(time(NULL));
               nombreMystere4 = (rand() % (MAX - MIN - 4)) + MIN;
       
               srand(time(NULL));
               nombreMystere5 = (rand() % (MAX - MIN - 5)) + MIN;
                          system("CLS");
               printf("Voici les nombres:\t"" -%d- \t"" -%d- \t"" -%d- \t"" -%d- \t"" -%d- \t\n\n\n",nombreMystere1,nombreMystere2,nombreMystere3,nombreMystere4,nombreMystere5);
               printf("============================================================================\n");
               tirages++;
               if (nombreMystere1 == nombreMystere2)
               printf("Mauvais tirage.Il y a un doublon.Refaites un tirage!\n\n");
               tiragedoublon++;
               if (nombreMystere1 == nombreMystere3)
               printf("Mauvais tirage.Il y a un doublon.Refaites un tirage!\n\n");
               if (nombreMystere1 == nombreMystere4)
               printf("Mauvais tirage.Il y a un doublon.Refaites un tirage!\n\n");
               if (nombreMystere1 == nombreMystere5)
               printf("Mauvais tirage.Il y a un doublon.Refaites un tirage!\n\n");
               if (nombreMystere2 == nombreMystere3)
               printf("Mauvais tirage.Il y a un doublon.Refaites un tirage!\n\n");
               if (nombreMystere2 == nombreMystere4)
               printf("Mauvais tirage.Il y a un doublon.Refaites un tirage!\n\n");
               if (nombreMystere2 == nombreMystere5)
               printf("Mauvais tirage.Il y a un doublon.Refaites un tirage!\n\n");
               if (nombreMystere3 == nombreMystere4)
               printf("Mauvais tirage.Il y a un doublon.Refaites un tirage!\n\n");
               if (nombreMystere3 == nombreMystere5)
               printf("Mauvais tirage.Il y a un doublon.Refaites un tirage!\n\n");
               if (nombreMystere4 == nombreMystere5)
               printf("Mauvais tirage.Il y a un doublon.Refaites un tirage!\n\n");
               break;
               case 2:
                    printf("===============================================================\n");
                    printf("Cree par Diki en Fevrier 2006.Seulement pour usage personel\n\n");
                    printf("Je ne serais en aucun cas tenu responsable d'eventuels degats occasiones sur\nvotre ordinateur\n\n");
                    printf("===============================================================\n");
                                    }
                                 
    printf("\nQue voulez-vous faire?\n1 = Retourner au menu \n2 = Quitter\n\n");
    printf("Votre choix?:");
    scanf("%ld",&continuer);
    }while(continuer==1);






                   
                 
                         
               
                                   
       
       
           
       
     
           
      return 0;
    }
    • Partager sur Facebook
    • Partager sur Twitter
      26 février 2006 à 18:47:47

      Il ne faut mettre qu'un seul srand, tu n'a qu'à (désolé pour l'orthographe) tous les retirer et en mettre un tout au début.
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        26 février 2006 à 18:58:54

        C'est normale que les nombres soient les mêmes, comme quelqu'un me l'as dit sur un topic, cette fonction utilise le l'heure qu'il est, donc vu que le pc calcul très vite bah c'est presque calculé au même moment tous tes nombres, donc met sleep(1000) entre chaque et sa changeras :)
        • Partager sur Facebook
        • Partager sur Twitter
          26 février 2006 à 19:06:47

          sleep(1000) ne change rien.....et en plus c long a calculer.....

          avec la méthode de nico ya du mieux,mais c'est pas encore ce que je veux :)

          merci de vos réponses

          Diki
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            26 février 2006 à 19:32:07

            Bon alors c'est simple, tu fais une fonction qui calcul un nombre au hasard, tu met le prototype au début du code et la fonction ou tu as envie, et tu n'as plus qu'a envoyer les nombres à la fonction pour qu'elles te sorte des nombres différent, et il faudras les séparé par des sleep(quelquechose) car autrement se seront exactement les même nombres. (la si tu me dit que sa marche pas c'est qu'il y a un blem car j'utilise sa dans presque tous mes programmes).
            • Partager sur Facebook
            • Partager sur Twitter
              26 février 2006 à 20:04:42

              gné?? o_Oo_O

              c'est pas que les nombres sont pareils c'est que ca ne fait pas loterie(les nombres sont trop rapprochés)
              • Partager sur Facebook
              • Partager sur Twitter
                26 février 2006 à 20:09:37

                srand () sert à initialiser le générateur de nombre aléatoire, vous le faites au début de votre code, et après vous ne l'utilisez plus, point barre :p
                • Partager sur Facebook
                • Partager sur Twitter

                J'aimerai un peu d'aide

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown