Srand, sur dev c++

moi411 -  
 Clownz -
Salut tout le monde.
Je développe sur dev c++ et j'ai besoin de choisir aléatoirement 10 nombres compris entre 65 et 122 (condition que le prof à donné).
J'utilise la fonction srand et tout, elle marche mais mes nombre sont choisi entre 0 et 187. Je voudrais donc savoir comment faire.
On m'a aussi dit qu'il fallait borné la fonction rand mais je ne sais pas comment faire.
Ma fonction est:

int main()
{
int a;

int cpt=0;

srand (time(NULL));

for(cpt=0; cpt<11; cpt++)
{
a=rand() %122+65;
printf("%d\n",a);
}

system("PAUSE");
return 0;

}

6 réponses

  1. moi411
     
    Déjà merci pour ton aide et ensuite je voudrais savoir, pourquoi 58? C'est parce que 58 + 65 = 123 ?
    A+
    1
  2. blurk Messages postés 493 Date d'inscription   Statut Membre 160
     
    (rand()%58)+65
    ne peut pas valoir moins de 65
    ne peut pas dépasser 122
    ¤
    0
  3. blurk Messages postés 493 Date d'inscription   Statut Membre 160
     
    salut!
    exactement!
    soit une borne inférieure de 65 et une marge de hasard de 58
    en fait, quand tu fais rand()%58
    tu obtiens une valeur qui peut être 0 mais n'atteindra jamais 58.
    %58 signifie modulo 58
    on peut dire que c'est le reste d'une division par 58,
    et dans les nombres entiers, le reste maximum d'une division par 58
    c'est 57 !
    cordialement
    ¤
    0
    1. Guki
       
      Y aurait pas un petit problème parce qu'un int ça reste pas seulement dans N mais dans Z?
      0
  4. blurk Messages postés 493 Date d'inscription   Statut Membre 160
     
    1 / int n'est pas float ni double puisque 31 de ses bits sont consacrés
    à la valeur en base 2, et 1 bit est consacré au signe.
    2 / ici on est borné entre 65 et 123

    ==> les variables de type "int" comprises entre 65 et 123 appatiennent à l'ensemble des entiers positifs

    ¤
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. moi411
     
    J'avais donc bon!!! En tout cas merci, ça marche.
    0
  7. Clownz
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    int main(int argc, char *argv[])
    {

    int a;

    int cpt=0;

    srand (time(NULL));

    for(cpt=0; cpt<11; cpt++)
    {
    // a=rand() %122+65;
    a=(rand() %(122 - 65 + 1))+65;
    printf("%d\n",a);
    }

    system("PAUSE");
    return 0;

    }
    0