Srand(time(NULL)) accéléré???
Fermé
guitoontruant
Messages postés
315
Date d'inscription
dimanche 7 janvier 2007
Statut
Membre
Dernière intervention
26 août 2011
-
12 déc. 2007 à 15:21
guitoontruant Messages postés 315 Date d'inscription dimanche 7 janvier 2007 Statut Membre Dernière intervention 26 août 2011 - 12 déc. 2007 à 17:01
guitoontruant Messages postés 315 Date d'inscription dimanche 7 janvier 2007 Statut Membre Dernière intervention 26 août 2011 - 12 déc. 2007 à 17:01
A voir également:
- Srand time null
- Finish time lite - Télécharger - Utilitaires
- Quick time - Télécharger - Lecture
- Salat time - Télécharger - Agendas & Calendriers
- Popcorn time download - Télécharger - TV & Vidéo
- Time machine - Guide
3 réponses
blux
Messages postés
26546
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
24 décembre 2024
3 319
12 déc. 2007 à 16:06
12 déc. 2007 à 16:06
Salut,
qu'entends-tu par augmenter la fréquence de calcul ? aller plus vite ?
qu'entends-tu par augmenter la fréquence de calcul ? aller plus vite ?
blux
Messages postés
26546
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
24 décembre 2024
3 319
12 déc. 2007 à 16:30
12 déc. 2007 à 16:30
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...
guitoontruant
Messages postés
315
Date d'inscription
dimanche 7 janvier 2007
Statut
Membre
Dernière intervention
26 août 2011
53
12 déc. 2007 à 16:35
12 déc. 2007 à 16:35
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
blux
Messages postés
26546
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
24 décembre 2024
3 319
12 déc. 2007 à 16:57
12 déc. 2007 à 16:57
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...
guitoontruant
Messages postés
315
Date d'inscription
dimanche 7 janvier 2007
Statut
Membre
Dernière intervention
26 août 2011
53
12 déc. 2007 à 17:01
12 déc. 2007 à 17:01
OK je vais essayer demain et je te dirai quoi.
En tout cas, merci beaucoup.
En tout cas, merci beaucoup.
12 déc. 2007 à 16:13
Seulement mon programme s'effectue trop rapidement et les valeurs données par ma fonction aléatoire sont finalemnt toujours les mêmes.