begin process at 2012 05 29 19:04:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

Pbm avec randomize


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Pbm avec randomize

lundi 20 février 2006 à 12:15:12 | Pbm avec randomize

goueg83460

bonjour j'essai de faire un programme qui génére un nombre aléatoirement à 4chiffres mais il me sort la plupart du temps un nombre a 5 chiffres. voici mon code/

int main(int argc, char* argv[])
{
        int i,j,nb =0;
                randomize();
                for(i=0; i<1000; i++)
                {
                        nb = rand();
                }
         printf ("%d", nb);
         getch();
}

voila merci à celui ou ceux qui pourront m'aider.
lundi 20 février 2006 à 12:26:20 | Re : Pbm avec randomize

DeAtHCrAsH

Pense a initialiser le randomize a time(null) et a indiquer l'intervalle souhaité

Shell
lundi 20 février 2006 à 12:33:37 | Re : Pbm avec randomize

wxccxw

Membre Club
non le probleme, c'est que tu doit lui dire entre quoi et quoi tu veux ton nombre donc tu fais
int hasard(int min, int max);

int hasard(int min, int max){
return rand() % (max-min) + min; // Génére entre 0 et max-min puis décale pour être entre min et max
}

nb = hasard(0,100);

voila entre 0 et 100 :)


lundi 20 février 2006 à 14:27:11 | Re : Pbm avec randomize

DeAtHCrAsH

Ne pas oublier d'initialiser le générateur pour ne pas avoir deux fois le meme nombre.
Soit :

int DonneNombre(int iBorneMin, int iBorneMax)
{

   return rand() % (iBorneMax- iBorneMin) + iBorneMin;
 }

int main()
{
   int i;
   int iNombre;

   srand(time(NULL));

   for(i=0;i<1000;i++)
   {
      iNombre = DonneNombre(1000,9999);
      printf("Nombre %i\t\t : %i\n", iNombre);
   } 

   return 0;
}

Shell
lundi 20 février 2006 à 14:29:02 | Re : Pbm avec randomize

DeAtHCrAsH

Oupssss, le printf est érroné.
Remplace le par :

      printf("Nombre %i\t\t : %i\n", i, iNombre);

J'avais oublié de spécifier le "i" en deuxième paramètres.

Shell
lundi 20 février 2006 à 19:13:08 | Re : Pbm avec randomize

chris91

bonjour,

rand() % N donne de 0 à N - 1

donc

hasard(0, 100) -> de 0 à 99

DonneNombre(1000, 9999) -> de 1000 à 9998

sinon si c'est 4 chiffres max la question,
-> hasard(0, 10000) pour 0 à 9999

bye.
lundi 20 février 2006 à 23:43:39 | Re : Pbm avec randomize

SAKingdom

Membre Club
Voici un petit bout de code qui pourrait t'aider:
(2 fonctions: une qui initialise le randomizer et le randomizer)

void SeedTheRandomizer (void)
{
    /* Les uint sonts la même chose que les UINT */
    SYSTEMTIME systime;
    uint setseed = 0;

    /* Ici c'est pas time() mais cela assure de ne pas voir le même nombre 2 fois */
    GetSystemTime(&systime);

    setseed = ((uint)systime.wYear + (uint)systime.wMonth + (uint)systime.wDayOfWeek + (uint)systime.wDay+ (uint)systime.wHour + (uint)systime.wMinute + (uint)systime.wSecond + (uint)systime.wMilliseconds);

    srand(setseed);
}

int ReturnARandomNumber (int Min, int Max)
{
    int Result = 0;

    Result = ((rand() % (int)(((Max) + 1) - (Min))) + (Min));

    return Result;
}


Cette discussion est classée dans : nombre, int, pbm, nb, randomize


Répondre à ce message

Sujets en rapport avec ce message

vecteur avec int et char [ par Tyroflan ] int **boursemain(){...cin >> nombre;for (unsigned int i=0;i bourse[i] = new int [5];donc je crée autant de vecteurs bourse que l'indique la variable vecteur avec int et char [ par Tyroflan ] int **boursemain(){...cin >> nombre;for (unsigned int i=0;i bourse[i] = new int [5];donc je crée autant de vecteurs bourse que l'indique la variable Concaténation int et Cstring [ par maghella ] Salut!Je voudrais concanténer un chiffre et une lettre.Ex: mot="A";Nb=1;mot est de type CString et nb de type int.Je voudrais ke ça donne dans mot: A1 Client/Serveur avec thread sous linux [ par frater_sinister ] J'ai un prblm avec ce programme. Avant tout le but de ce code: le client envoit un fichier au serveur, ce dernier renvoit le nombre de lignes/mots/let Probleme fonctions [niveau debutant] [ par zzzzzz ] en fait je voulais faire une applic qui nous demande un nombre de part et de fin si on met par exemple 2 et 7 sa ecrira 234567 grace a une boucle. le getch ou getchar() ? [niveau debutant] [ par zzzzzz ] :P //---------------------------------------------------------------------------#include #include // getch()#include // c PB poilu de Stack 0verFlow (c++) [ par toufleboss ] Ci joint un algo de détourage d'un bmp de qq lignes :Le Binze c'est que des que la zone a détourée est trop importante je me tape un Stack overflow (l Tableau et char to int [ par Niníel ] Bonjour!J'ai un tableau: chTabStart[64] dans lequel je rentre un nombre dans le format suivant: d_25 pour un nombre décimale par exemple. Donc dans mo Arbres binaires [ par His_Dudeness ] Bonjour, je suis en train de me taper un tp pour un cours sur les arbres. Dans le code qui suit, la racine redevient null a chaque fois qu'elle sort probleme avec randomize [ par darmoor ] salut je debute en C et jai ecrit un tout petit truc pour aprendre et je trouve que la compilation ne marche pas alors que dapres le cour il devrai! v


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,827 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales