Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1992 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [c] rand...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[c] rand...

n°138982
neogally
Battle Angel Alita
Posté le 15-05-2002 à 01:08:07  profilanswer
 

voila en fait je doit generer 4 chiffres compris entre 1 et 4  
( c pour un mastermind )
 
donc j'ai utiliser rand mais malheuresement il me renvoie tjrs la meme valeur :( ..... chui desespere car jarriv po a trouver commen faire pour kil me renvoie un chiffre aleatoire a chaque fois !  
 
je lui est passer la valeur de time comme param ca va bien pour le 1er chiffre mais les autre sont egaux car cela va trop vite :ange:  
 
ne rigoler pas en lisant le code de la fonction ke j'ai fait pour generer ces 4 nombre aleatoirement ( g utiliser un moyen peu recomandable , bref c immonde....lol)
chui un noob en prog ( peu etre po besoin de le preciser mais g po peur du ridicule... :D )
 
bon help car la je cracke aidez moi a trouver une meilleure solution :(  
 
 
 
srand(time(NULL));
 
tab[0]=nb1;
 
for(i=0;i<30000;i++){srand(time(NULL));unq2=(rand(
)%4)+1;}
 
tab[1]=nb2;
 
for(i=0;i<47000;i++){srand(time(NULL));unq3=(rand(
)%4)+1;}
 
tab[2]=nb3;
 
for(i=0;i<35500;i++){srand(time(NULL));unq4=(rand(
)%4)+1;}
 
tab[3]=nb4;  
 
 :hello:

mood
Publicité
Posté le 15-05-2002 à 01:08:07  profilanswer
 

n°138985
ats
Posté le 15-05-2002 à 01:29:33  profilanswer
 

randomize() ?

n°138986
gilou
Modérateur
Modosaurus Rex
Posté le 15-05-2002 à 02:05:17  profilanswer
 

neogally a écrit a écrit :

voila en fait je doit generer 4 chiffres compris entre 1 et 4  
( c pour un mastermind )
 
donc j'ai utiliser rand mais malheuresement il me renvoie tjrs la meme valeur :( ..... chui desespere car jarriv po a trouver commen faire pour kil me renvoie un chiffre aleatoire a chaque fois !  
 
je lui est passer la valeur de time comme param ca va bien pour le 1er chiffre mais les autre sont egaux car cela va trop vite :ange:  
 
ne rigoler pas en lisant le code de la fonction ke j'ai fait pour generer ces 4 nombre aleatoirement ( g utiliser un moyen peu recomandable , bref c immonde....lol)
chui un noob en prog ( peu etre po besoin de le preciser mais g po peur du ridicule... :D )
 
bon help car la je cracke aidez moi a trouver une meilleure solution :(  
 
 
 
srand(time(NULL));
 
tab[0]=nb1;
 
for(i=0;i<30000;i++){srand(time(NULL));unq2=(rand(
 
)%4)+1;}
 
tab[1]=nb2;
 
for(i=0;i<47000;i++){srand(time(NULL));unq3=(rand(
 
)%4)+1;}
 
tab[2]=nb3;
 
for(i=0;i<35500;i++){srand(time(NULL));unq4=(rand(
 
)%4)+1;}
 
tab[3]=nb4;  
 
 :hello:  




Utilises la valeur retournée par ton appel a rand pour initialiser l'appel suivant.
A+,

n°139009
darkoli
Le Petit Dinosaure Bleu
Posté le 15-05-2002 à 09:11:26  profilanswer
 

Ca sert à quoi ça ?

Code :
  1. for(i=0;i<30000;i++){srand(time(NULL));unq2=(rand(
  2. )%4)+1;}


 
Pourquoi tu fais un srand à chaque fois ?


---------------
Le site de l'année :D (XHTML 1.0 strict) : http://darkoli.free.fr/index.html
n°139047
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 15-05-2002 à 09:48:09  profilanswer
 

DarkOli a écrit a écrit :

Pourquoi tu fais un srand à chaque fois ?  




Sans doute pour réinitialiser la valeur initiale afin de ne pas avoir le même nombre à chaque fois, vu que son pb c'est que le même nombre est généré car sa boucle est trop rapide.
 
Tu peux éventuellement insérer dans ta boucle une autre boucle afin de temporiser :

Code :
  1. for(i=0;i<30000;i++){
  2.    for (j=0;j<1000;j++) {}
  3.    unq2=(rand()%4)+1};
  4.    tab[1]=nb2;
  5. }


 
ou alors générer le nb aléatoire dans une autre fonction. ça ralentira légèrement le traitement :

Code :
  1. for(i=0;i<30000;i++){
  2.    int nb = getrandom()
  3.    unq2=(nb%4+1};
  4.    tab[1]=nb2;
  5. }
  6. int getrandom(void)
  7.    return rand();
  8. }

 

[jfdsdjhfuetppo]--Message édité par Harkonnen le 15-05-2002 à 09:49:04--[/jfdsdjhfuetppo]


---------------
J'ai un string dans l'array (Paris Hilton)
n°139051
neogally
Battle Angel Alita
Posté le 15-05-2002 à 09:52:10  profilanswer
 

merci pour les idees y'en a surtout une ki m'az parut po mal...
 
utiliser les premieres valeurs donne par rand pourtrouver les suivantes  
 
merci  :hello:

n°139062
eL_Shaman_​__
Plop.
Posté le 15-05-2002 à 09:58:25  profilanswer
 

J'ai le même problème !!
 
 
En C, sous Unix (le randomize n'existe pas...).
 
 
Voilà le code:
 
 
 
tab est un tableau d'entiers.
 
for(l=0; l<lig; l++)
    for(c=0; c<col; c++)
      {
        srand(time(NULL));
        tab[l][c]= (int) (2.0 * rand() / RAND_MAX);
      }
 
 
Le but est donc de tirer aléatoirement 0 ou 1 et de placer la valeur obtenue dans le tableau.
Malheureusement, l'exécution est tellement rapide que le nombre ne se réinitialise pas...
 
Si je regarde les valeurs obtenues par "rand()", j'obtiens par exemple:
 
rand=55942423
 
rand=55942423
 
rand=55942423
 
rand=55942423
 
rand=55942423
 
rand=55942423
 
rand=55942423
 
 
etc.
 
 
La seule solution que j'ai trouvé est de mettre un
for(i=0; i<5e7; i++);
entre chaque tirage. Sur l'ordinateur que j'utilise, cela correspond à, à peu près, une seconde.
 
Mais, ce n'est pas top...

 

[jfdsdjhfuetppo]--Message édité par El_ShAmAn___ le 15-05-2002 à 10:05:35--[/jfdsdjhfuetppo]

n°139066
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 15-05-2002 à 10:02:58  profilanswer
 

Y'a quand même un truc qui me chifonne sur ton source :
 
Tu écris ceci :

Code :
  1. for(i=0;i<30000;i++){
  2.    srand(time(NULL));
  3.    unq2=(rand()%4)+1;
  4. }
  5. tab[1]=nb2;

 
 
1 - à quoi sert unq2 ? (à moins que tu te sois planté et que tu voulais taper nb2)
 
2 - quel est l'intéret de calculer unq2 (ou nb2) dans une boucle de 30000 itérations, vu que tu ne l'affectes qu'une seule fois ?
 
 :heink:


---------------
J'ai un string dans l'array (Paris Hilton)
n°139069
flo850
moi je
Posté le 15-05-2002 à 10:06:04  profilanswer
 

la solution consiste a initialiser srand avec un nombre aléatoire , généralement  j'utilise le pid de mon process ( grace a getpid() ) sous linux, qui a défaut d'être aléatoire , est impossible a predire et varie pur chaque process


---------------

n°139074
eL_Shaman_​__
Plop.
Posté le 15-05-2002 à 10:10:04  profilanswer
 

flo850 a écrit a écrit :

la solution consiste a initialiser srand avec un nombre aléatoire , généralement  j'utilise le pid de mon process ( grace a getpid() ) sous linux, qui a défaut d'être aléatoire , est impossible a predire et varie pur chaque process  




 
Mais comment initialises-tu srand avec getpid() ?

mood
Publicité
Posté le 15-05-2002 à 10:10:04  profilanswer
 

n°139129
prettysmil​e
Sourire est un devoir social
Posté le 15-05-2002 à 11:06:57  profilanswer
 

El_ShAmAn___ a écrit a écrit :

J'ai le même problème !!
 
 
En C, sous Unix (le randomize n'existe pas...).
 
 
Voilà le code:
 
 
 
tab est un tableau d'entiers.
 
for(l=0; l<lig; l++)
    for(c=0; c<col; c++)
      {
        srand(time(NULL));
        tab[l][c]= (int) (2.0 * rand() / RAND_MAX);
      }
 
 
Le but est donc de tirer aléatoirement 0 ou 1 et de placer la valeur obtenue dans le tableau.
Malheureusement, l'exécution est tellement rapide que le nombre ne se réinitialise pas...
 
Si je regarde les valeurs obtenues par "rand()", j'obtiens par exemple:
 
rand=55942423
 
rand=55942423
 
rand=55942423
 
rand=55942423
 
rand=55942423
 
rand=55942423
 
rand=55942423
 
 
etc.
 
 
La seule solution que j'ai trouvé est de mettre un
for(i=0; i<5e7; i++);
entre chaque tirage. Sur l'ordinateur que j'utilise, cela correspond à, à peu près, une seconde.
 
Mais, ce n'est pas top...  
 
 




 
un exemple de tirage aleatoire de 0 et 1
http://www.lri.fr/~aze/page_c/aide_c/rand.html
 
g pas tester, mais d ordinaire ses exemples fonctionnent
 
edit: pourquoi srand() est dans la boucle? tu reinitialise le tirage a chaque fois?

 

[jfdsdjhfuetppo]--Message édité par prettysmile le 15-05-2002 à 11:14:36--[/jfdsdjhfuetppo]

n°139158
neogally
Battle Angel Alita
Posté le 15-05-2002 à 11:34:31  profilanswer
 

prettysmile a écrit a écrit :

 
 
un exemple de tirage aleatoire de 0 et 1
http://www.lri.fr/~aze/page_c/aide_c/rand.html
 
g pas tester, mais d ordinaire ses exemples fonctionnent
 
edit: pourquoi srand() est dans la boucle? tu reinitialise le tirage a chaque fois?  
 
 




 
voila effectivement cela marche mais j'arriv po a faire comprendre ces valeurs entre 1 et 4

n°139165
neogally
Battle Angel Alita
Posté le 15-05-2002 à 11:41:24  profilanswer
 

en fait si j'ai un code de ce style ca me renvoie tjrs une meme valeur
 
 
void main(void) {
     
    printf("%7d ", rand());  
     
    printf("  %d", (rand()%4)+1 );
   
}
 
donc il faut a chaque fois ke cela me renvoie une valeur differente
 
g deja utiliser le fait inclure des boucle immense pour ke cela permettre au tps de changer mais c pas propre comme code et surtout ca ne marche ke sur la machine sur laquelle on developpe

n°139167
leirn
A.D.I.D.A.S.
Posté le 15-05-2002 à 11:43:12  profilanswer
 

tu dois pas faire kke chose du style randomize() pour initialiser le generateur de nombre aleatoire kke part?


---------------
"Je brandirai une épée d'orichalque, je m'assouvirai sur des Templiers." | "Avec dans son sillage l'Ombre du Diable, Leirn appelait les morts pour une danse macabre et déchainaît les horreurs de la nuit..."
n°139168
neogally
Battle Angel Alita
Posté le 15-05-2002 à 11:43:15  profilanswer
 

Harkonnen a écrit a écrit :

Y'a quand même un truc qui me chifonne sur ton source :
 
Tu écris ceci :

Code :
  1. for(i=0;i<30000;i++){
  2.    srand(time(NULL));
  3.    nb2=(rand()%4)+1;
  4. }
  5. tab[1]=nb2;

 
 
1 - à quoi sert unq2 ? (à moins que tu te sois planté et que tu voulais taper nb2)
 
2 - quel est l'intéret de calculer unq2 (ou nb2) dans une boucle de 30000 itérations, vu que tu ne l'affectes qu'une seule fois ?
 
 :heink:  



n°139170
neogally
Battle Angel Alita
Posté le 15-05-2002 à 11:44:35  profilanswer
 

au fait je develloppe cela sur une machine ss windows

n°139171
leirn
A.D.I.D.A.S.
Posté le 15-05-2002 à 11:45:12  profilanswer
 

du c est tjs du c, ca change pas grand chose...
 
tu initialse le generateur de nombre aleatoire?


---------------
"Je brandirai une épée d'orichalque, je m'assouvirai sur des Templiers." | "Avec dans son sillage l'Ombre du Diable, Leirn appelait les morts pour une danse macabre et déchainaît les horreurs de la nuit..."
n°139172
leirn
A.D.I.D.A.S.
Posté le 15-05-2002 à 11:46:13  profilanswer
 

rand
Generates a pseudorandom number.
 
int rand( void );
 
Routine Required Header Compatibility  
rand <stdlib.h> ANSI, Win 95, Win NT  
 
 
For additional compatibility information, see Compatibility in the Introduction.
 
Libraries
 
LIBC.LIB Single thread static library, retail version  
LIBCMT.LIB Multithread static library, retail version  
MSVCRT.LIB Import library for MSVCRT.DLL, retail version  
 
 
Return Value
 
rand returns a pseudorandom number, as described above. There is no error return.
 
Remarks
 
The rand function returns a pseudorandom integer in the range 0 to RAND_MAX. Use the srand function to seed the pseudorandom-number generator before calling rand.
 
Example
 
/* RAND.C: This program seeds the random-number generator
 * with the time, then displays 10 random integers.
 */
 
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
 
void main( void )
{
   int i;
 
   /* Seed the random-number generator with current time so that
    * the numbers will be different every time we run.
    */
   srand( (unsigned)time( NULL ) );
 
   /* Display 10 numbers. */
   for( i = 0;   i < 10;i++ )
      printf( "  %6d\n", rand() );
}
 
 
Output
 
    6929
    8026
   21987
   30734
   20587
    6699
   22034
   25051
    7988
   10104


---------------
"Je brandirai une épée d'orichalque, je m'assouvirai sur des Templiers." | "Avec dans son sillage l'Ombre du Diable, Leirn appelait les morts pour une danse macabre et déchainaît les horreurs de la nuit..."
n°139179
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 15-05-2002 à 11:50:33  profilanswer
 

Leirn a écrit a écrit :

 
tu initialse le generateur de nombre aleatoire?  




 
ben oui.... cf son source
 

Code :
  1. srand(time(NULL));


 
et pourquoi poster le MSDN du rand()  :??: apparemment il sait l'utiliser
son problème est que la boucle est tellement rapide que la valeur générée est à chaque fois identique, d'où les solutions proposées


---------------
J'ai un string dans l'array (Paris Hilton)
n°139185
leirn
A.D.I.D.A.S.
Posté le 15-05-2002 à 11:54:38  profilanswer
 

oki, sorry
 
mais g po compris la boucle, puiskil fait rien dedans...
 
 
et je comprend po non plus pkoi il l'initialse a chak fois...

 

[jfdsdjhfuetppo]--Message édité par Leirn le 15-05-2002 à 11:55:20--[/jfdsdjhfuetppo]


---------------
"Je brandirai une épée d'orichalque, je m'assouvirai sur des Templiers." | "Avec dans son sillage l'Ombre du Diable, Leirn appelait les morts pour une danse macabre et déchainaît les horreurs de la nuit..."
n°139187
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 15-05-2002 à 11:55:39  profilanswer
 

ben moi non plus, c'est ce que je lui demande, mais il ne répond pas  :sweat:


---------------
J'ai un string dans l'array (Paris Hilton)
n°139208
gilou
Modérateur
Modosaurus Rex
Posté le 15-05-2002 à 12:32:35  profilanswer
 

Harkonnen a écrit a écrit :

 
 
ben oui.... cf son source
 

Code :
  1. srand(time(NULL));


 
et pourquoi poster le MSDN du rand()  :??: apparemment il sait l'utiliser
son problème est que la boucle est tellement rapide que la valeur générée est à chaque fois identique, d'où les solutions proposées  




Non, c'est parce qu'il reinitialise la seed a chaque fois avec srand(time(NULL)); au lieu de ne l'initialiser qu'une fois...
A+,


---------------
There's more than what can be linked! --  Le capitaine qui ne veut pas obéir à la carte finira par obéir aux récifs. -- Il ne faut plus dire Sarkozy, mais Sarkozon -- (╯°□°)╯︵ ┻━┻
n°139211
leirn
A.D.I.D.A.S.
Posté le 15-05-2002 à 12:35:10  profilanswer
 

il repond peut etre po pcq il c po pkoi...


---------------
"Je brandirai une épée d'orichalque, je m'assouvirai sur des Templiers." | "Avec dans son sillage l'Ombre du Diable, Leirn appelait les morts pour une danse macabre et déchainaît les horreurs de la nuit..."
n°139221
neogally
Battle Angel Alita
Posté le 15-05-2002 à 13:02:10  profilanswer
 

Leirn a écrit a écrit :

il repond peut etre po pcq il c po pkoi...  




 
bon sorry chui po tt le tps devant mon clavier donc javais po vu vos reponse
 
deja je vous remercie tous car vous m'avez enormement aidez !!! :hello:  
 
j'ai trouver la solution a mon probleme grace a vous !
 
je vous file mon code pour ke vous voyer ou cela plantait  
 
void generateur()
{  
 int tab[4];
 int i;  
 srand( (unsigned)time( NULL ) );
 for( i = 0;i < 4;i++ )
 {  
  tab[i]=(rand()%4)+1;      
 }  
 entrercoup(tab); // fonction de saisie de l'utilisateur
 
}
 
y'a un truc ke je ne comprend po c'est pkoi cela ne marchait pas avant car a part le cast du time(NULL) il y avait tout mais bon  
 voili voilou  
 
bon sur ce merci encore @+

n°139222
gilou
Modérateur
Modosaurus Rex
Posté le 15-05-2002 à 13:07:15  profilanswer
 

Ah! Ce coup ci, enfin, tu n'initialise la seed qu'une fois!
D'ailleurs, c'est exactement le probleme de El Shaman aussi.
A+,


---------------
There's more than what can be linked! --  Le capitaine qui ne veut pas obéir à la carte finira par obéir aux récifs. -- Il ne faut plus dire Sarkozy, mais Sarkozon -- (╯°□°)╯︵ ┻━┻
n°139226
darkoli
Le Petit Dinosaure Bleu
Posté le 15-05-2002 à 13:25:31  profilanswer
 

Harkonnen a écrit a écrit :

 
Sans doute pour réinitialiser la valeur initiale afin de ne pas avoir le même nombre à chaque fois, vu que son pb c'est que le même nombre est généré car sa boucle est trop rapide.
 
Tu peux éventuellement insérer dans ta boucle une autre boucle afin de temporiser :

Code :
  1. for(i=0;i<30000;i++){
  2.    for (j=0;j<1000;j++) {}
  3.    unq2=(rand()%4)+1};
  4.    tab[1]=nb2;
  5. }


 
ou alors générer le nb aléatoire dans une autre fonction. ça ralentira légèrement le traitement :

Code :
  1. for(i=0;i<30000;i++){
  2.    int nb = getrandom()
  3.    unq2=(nb%4+1};
  4.    tab[1]=nb2;
  5. }
  6. int getrandom(void)
  7.    return rand();
  8. }

 
 
 




 
Oui mais comme le srand permet de selectionner une serie  de nombre aleatoire en fonction du parametre il suffit de choisir une seule fois la serie aleatoire sinon si on fait plusieurs appels a srand avec le meme parametre ça selectionne a chaque fois la meme serie en se positionnant sur le premier nombre de la serie. Il faut faire un srand une seule fois tout au debut du programme et c'est tout.


---------------
Le site de l'année :D (XHTML 1.0 strict) : http://darkoli.free.fr/index.html
n°139227
eL_Shaman_​__
Plop.
Posté le 15-05-2002 à 13:34:38  profilanswer
 

J'ai mis "srand(time(NULL))" à l'extérieur de la boucle for et cela fonctionne parfaitement maintenant :)
 
Je l'avais mis à l'intérieur du "for" parce que j'avais compris que cela initialisait "rand()", donc je pensais qu'il fallait le faire avant chaque exécution du rand()...
 
 
Ce matin, j'ai écrit mon message lorsque j'étais en TP, mon prof qui est docteur en informatique n'a même pas été foutu de voir cela. Pourtant, il a essayé des syntaxes complétement connes; en mettant des parenthèses partout et en essayant aussi avec le modulo !
 
Enfin, je vous remercie  :)
 
 
 
 
 
Mais j'ai un autre problème, maintenant, cela va très (trop) vite et dans une AUTRE fonction, je dois afficher les résultats au fur et à mesure. Il me faudrait donc une fonction qui me permette d'attendre 1 seconde (par exemple).

n°139228
gilou
Modérateur
Modosaurus Rex
Posté le 15-05-2002 à 13:39:52  profilanswer
 

sleep();
A+,


---------------
There's more than what can be linked! --  Le capitaine qui ne veut pas obéir à la carte finira par obéir aux récifs. -- Il ne faut plus dire Sarkozy, mais Sarkozon -- (╯°□°)╯︵ ┻━┻
n°139282
eL_Shaman_​__
Plop.
Posté le 15-05-2002 à 14:59:49  profilanswer
 

gilou a écrit a écrit :

sleep();
A+,  




 
 
Hum...
Je ne pense pas que cela puisse s'utiliser dans un programme (me trompe-je ?).

n°139306
darkoli
Le Petit Dinosaure Bleu
Posté le 15-05-2002 à 15:26:36  profilanswer
 

El_ShAmAn___ a écrit a écrit :

 
 
 
Hum...
Je ne pense pas que cela puisse s'utiliser dans un programme (me trompe-je ?).  




 
Ben si ça ne marche pas tu as la boucle qui sert à rien :
 
for (f=0;f<1000000000;f+=0.01);
 
Mais la durée dependera du type de machine.


---------------
Le site de l'année :D (XHTML 1.0 strict) : http://darkoli.free.fr/index.html
n°139307
leirn
A.D.I.D.A.S.
Posté le 15-05-2002 à 15:27:10  profilanswer
 

DarkOli a écrit a écrit :

 
 
Ben si ça ne marche pas tu as la boucle qui sert à rien :
 
for (f=0;f<1000000000;f+=0.01);
 
Mais la durée dependera du type de machine.  




 
c po bo :(
 
l'api sleep marche pas ds un prog?


---------------
"Je brandirai une épée d'orichalque, je m'assouvirai sur des Templiers." | "Avec dans son sillage l'Ombre du Diable, Leirn appelait les morts pour une danse macabre et déchainaît les horreurs de la nuit..."
n°139309
Tetragramm​aton IHVH
dieu unique =&gt; pensée unique
Posté le 15-05-2002 à 15:28:45  profilanswer
 

El_ShAmAn___ a écrit a écrit :

 
 
 
Hum...
Je ne pense pas que cela puisse s'utiliser dans un programme (me trompe-je ?).  




 
Y aussi la fonction ::Sleep()  
(si tu connais déjà la réponse, pourquoi demandes tu ?  :sarcastic: )


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
n°139571
gilou
Modérateur
Modosaurus Rex
Posté le 15-05-2002 à 23:01:36  profilanswer
 

El_ShAmAn___ a écrit a écrit :

 
 
 
Hum...
Je ne pense pas que cela puisse s'utiliser dans un programme (me trompe-je ?).  




Oui, tu te trompe-je :D
C'est un truc unix standard en principe, sleep:
=============================================================
SLEEP(3)            Linux Programmer's Manual            SLEEP(3)
 
NAME
       sleep - Sleep for the specified number of seconds
 
SYNOPSIS
       #include <unistd.h>
 
       unsigned int sleep(unsigned int seconds);
 
DESCRIPTION
       sleep() makes the current process sleep until seconds sec-
       onds have  elapsed  or  a  signal  arrives  which  is  not
       ignored.
 
RETURN VALUE
       Zero  if  the requested time has elapsed, or the number of
       seconds left to sleep.
 
CONFORMING TO
       POSIX.1
 
BUGS
       sleep() may be implemented using SIGALRM; mixing calls  to
       alarm() and sleep() is a bad idea.
 
       Using  longjmp()  from  a  signal handler or modifying the
       handling of SIGALRM while sleeping  will  cause  undefined
       results.
 
SEE ALSO
       signal(2), alarm(2)
=============================================================
Dans ton cas, il te suffit donc d'inserer sleep(1); la ou c'est utile.
A+,

 

[jfdsdjhfuetppo]--Message édité par gilou le 15-05-2002 à 23:03:39--[/jfdsdjhfuetppo]


---------------
There's more than what can be linked! --  Le capitaine qui ne veut pas obéir à la carte finira par obéir aux récifs. -- Il ne faut plus dire Sarkozy, mais Sarkozon -- (╯°□°)╯︵ ┻━┻
n°139572
gilou
Modérateur
Modosaurus Rex
Posté le 15-05-2002 à 23:04:55  profilanswer
 

Pour les man pages unix, ce lien est pratique:
http://www.rt.com/man/
A+,


---------------
There's more than what can be linked! --  Le capitaine qui ne veut pas obéir à la carte finira par obéir aux récifs. -- Il ne faut plus dire Sarkozy, mais Sarkozon -- (╯°□°)╯︵ ┻━┻
n°139656
juju_le_ba​rbare
Vous fiez pas aux apparences !
Posté le 16-05-2002 à 10:08:26  profilanswer
 

Leirn a écrit a écrit :

tu dois pas faire kke chose du style randomize() pour initialiser le generateur de nombre aleatoire kke part?  




 
si mais randomize(); n'existe pas sous unix (ce que je ne savais pas ya 2 minutes !)


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
n°139710
eL_Shaman_​__
Plop.
Posté le 16-05-2002 à 11:17:07  profilanswer
 

Tetragrammaton IHVH a écrit a écrit :

 
 
Y aussi la fonction ::Sleep()  
(si tu connais déjà la réponse, pourquoi demandes tu ?  :sarcastic: )  




 
Ben non, je ne sais pas si je demande...
 
 
En fait, sous linux, j'avais juste tapé "man sleep" et ça ne m'avais pas donné la méthode pour l'utiliser dans un programme.
 
Voilà, c'est tout...
 
 
Merci à ceux qui m'ont aidé  ;)

n°139731
gilou
Modérateur
Modosaurus Rex
Posté le 16-05-2002 à 11:41:41  profilanswer
 

quand tu tapes man sleep, ca t'affiche sleep de man1. Quand il y a des synonimes, c'est indiqué en fin de page en général. La bonne etait dans man3. Mais pas toujours (pas dans ce cas, avec la doc GNU)
C'est pourquoi l'index http://www.rt.com/man/ qui les liste toutes est precieux.
A+,

 

[jfdsdjhfuetppo]--Message édité par gilou le 16-05-2002 à 11:43:39--[/jfdsdjhfuetppo]


---------------
There's more than what can be linked! --  Le capitaine qui ne veut pas obéir à la carte finira par obéir aux récifs. -- Il ne faut plus dire Sarkozy, mais Sarkozon -- (╯°□°)╯︵ ┻━┻
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [c] rand...

 

Sujets relatifs
[PHP] Problèmes de RAND chez Freefontion rand en c++
générateur de nombre aléatoire sous VC++ meilleur que rand ?[C] rand()
Plus de sujets relatifs à : [c] rand...


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)