Srand(time(NULL)) accéléré???
guitoontruant
Messages postés
316
Statut
Membre
-
guitoontruant Messages postés 316 Statut Membre -
guitoontruant Messages postés 316 Statut Membre -
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...
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
A voir également:
- Srand time null
- Finish time lite - Télécharger - Utilitaires
- Popcorn time - Télécharger - TV & Vidéo
- Quick time - Télécharger - Lecture
- Face time c'est quoi - Guide
- Time sync - Télécharger - Outils Internet
3 réponses
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...
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...
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
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
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...
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...
Seulement mon programme s'effectue trop rapidement et les valeurs données par ma fonction aléatoire sont finalemnt toujours les mêmes.