Srand(time(NULL)) accéléré???

Bonjour,

J'ai créé une fonction aléatoire grace à srand(time(NULL)); mais je voudrais qu'il augmente sa fréquence de calcul.

Est-ce possible?
--

L'important, c'est les trois points...
Configuration: Windows XP
Firefox 2.0.0.11

3 réponses

  1. Modérateur
    Salut,

    qu'entends-tu par augmenter la fréquence de calcul ? aller plus vite ?
    0
    1. Oui, c'est ça, car j'ai besoin d'effectuer un calcuol statistique en faisant varier les coordonnées des points à l'intérieur d'un cercle.

      Seulement mon programme s'effectue trop rapidement et les valeurs données par ma fonction aléatoire sont finalemnt toujours les mêmes.
      0
  2. Modérateur
    J'ai pas trop compris ta demande : tu veux aller plus vite ou avoir d'autres valeurs ?

    Tu as un échantillon de combien pour tomber sur les mêmes valeur ? ou alors c'est ton time(null) qui ne renvoie pas une valeur correcte au srand...
    0
    1. J'ai testé mon srand à part, il fonctionne bien si on lui fait une demande bien espacé dans le temps.

      J'ai ça:

      int aleat()
      {
      int ch1;
      srand (time (NULL));
      ch1=rand()%2;
      if(ch1==0)
      ch1=-1;
      return ch1;
      }

      int aleatbis()
      {
      int ch2;
      srand(time (NULL));
      ch2=rand()%100;
      return ch2;
      }

      [...]
      a1[0]=amax[0];
      a1[1]=amax[1];
      negoupos=aleat();
      random=aleatbis();
      random/=100;
      printf("%d %f",negoupos,random);
      a1[0]=a1[0]+(negoupos*random*inca);
      negoupos=aleat();
      random=aleatbis();
      random/=100;
      a1[1]=a1[1]+(negoupos*random*inca);

      Seulement, mes fonctions aleat et aleatbis renvoit la même chose car je suppose que mon programme va plus vite que mon srand
      0
  3. Modérateur
    Moi je n'initialiserai pas ma fonction rand à chaque appel, mais au début du programme, me contentant d'en lire les valeurs dans les fonctions... c'est peut-être ça qui coince, elle sont initialisées avec la même valeur.

    Ce n'est pas ton programme qui va plus vite que ton rand, c'est ton programme qui s'exécute dans la même fraction de time... Tu as peut-être accès à la msec voir à la µsec en C...
    0
    1. OK je vais essayer demain et je te dirai quoi.

      En tout cas, merci beaucoup.
      0