[QST] Suspendre execution de progamme ?

Suspendre execution de progamme ? [QST] - C - Programmation

Marsh Posté le 03-11-2006 à 18:55:22    

Up all,
 
Voila, j'ai un programme qui genere des nombres dits "aleatoires" seulement si jexecute ce programme a tres tres courtes intervalles, il me ressort 3 ou 4 fois les meme nombres avant d'en changer... Je fais donc un truc de porc ci-dessous pour retarder la sortie de nombre "aleatoires"...seulement je veux que mon prog s'execute au tac-o-tac donc sans les Usleep! Je crois savoir qu'il existe un truc pour que le srand me cree un chiffre reelement different a chaque fois et ce meme si les executions sont toutes les X millisecondes....
 

Code :
  1. for (i = 0; i < dimension; i++)
  2.    {
  3.      usleep(100000);
  4.      usleep(100000);
  5.      usleep(100000);
  6.      usleep(100000);
  7.      srand(time(NULL) + i);
  8.      tab[i] = (rand() % (9 - (-9) + 1)) + (-9);
  9.      my_put_nbr(tab[i]);
  10.      my_putchar(' ');
  11.    }


 
Merci d'aavance :jap:,
Sid.
 
Ps = les 9 et -9 dans les rand correspondent aux valeurs min et max (juste au cas ou ;)...)

Reply

Marsh Posté le 03-11-2006 à 18:55:22   

Reply

Marsh Posté le 03-11-2006 à 18:56:15    

il faudrait voir à pas réinitialiser ton générateur aléatoire en continu surtout :o


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 03-11-2006 à 19:02:51    

je viens d'essayer et ca revient au meme d'inclure le srand dans le FOR ou apres... que ce soit au niveau de la rapidite ou du resultat...

Reply

Marsh Posté le 03-11-2006 à 19:09:00    

c'est AVANT pour initialiser :o


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 03-11-2006 à 19:10:35    

sideo a écrit :

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




Encore un qui recopie du code bêtement sans comprendre. Si srand() et rand() ont été séparées, c'est peut être pour une bonne raison, non ? Jamais personne ne refléchi à ce qu'il fait ?
 
Qu'est-ce qui te fait croire qu'il faut réinitialiser le générateur de pseudo à chaque tour ?
 
http://mapage.noos.fr/emdel/notes.htm#rand


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 03-11-2006 à 19:15:46    

nan mais je crois qu'on se comprend mal... je sais tres bien ce que je fais la, le truc c'est que je veux que lorsque j'execute plein de fois a la suite le prog il ne me ressorte pas deux fois de suite les memes nombres...parce que la si jattend une seconde a chaque fois avant de lexecuter j'aurai toujours des nombre different... donc ca marche... mais pas si je vais plus vite...
 
EDIT = Il existerai pas un truc comme 'microtime'  a la place de 'time' ??

Message cité 2 fois
Message édité par sideo le 03-11-2006 à 19:18:33
Reply

Marsh Posté le 03-11-2006 à 19:19:23    

sideo a écrit :

nan mais je crois qu'on se comprend mal... je sais tres bien ce que je fais la, le truc c'est que je veux que lorsque j'execute plein de fois a la suite le prog il ne me ressorte pas deux fois de suite les memes nombres...parce que la si jattend une seconde a chaque fois avant de lexecuter j'aurai toujours des nombre different... donc ca marche... mais pas si je vais plus vite...


Oui, on a bien compris. Pour ça, il faut appeler srand() une seule fois au début du code et supprimer ces attentes inutiles.
 
Il y a un exemple dans l'article que j'ai cité. Tu l'as pas lu ? Tout est expliqué. C'est fatiguant à la longue...
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 03-11-2006 à 19:19:55    

sideo a écrit :

EDIT = Il existerai pas un truc comme 'microtime'  a la place de 'time' ??


 :sleep:  :sleep:  :sleep:


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 03-11-2006 à 19:21:38    

si si j'ai bien lu, et comme je le dis plus haut, meme en dehors de ma boucle (apres les declarations) la latence est toujours de une seconde... en deca les valeurs restent identiques.

Citation :

Une seconde, c'est long, mais ça suffit pour les besoins courants.


...pas pour mon cas!

Reply

Marsh Posté le 03-11-2006 à 19:28:31    

sideo a écrit :

si si j'ai bien lu, et comme je le dis plus haut, meme en dehors de ma boucle (apres les declarations) la latence est toujours de une seconde...


Mais non. Montre ton code.
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 03-11-2006 à 19:28:31   

Reply

Marsh Posté le 03-11-2006 à 19:38:42    

Done.
Et autre chose : Pourquoi lorsque je j'essai de printf("%s\n", tab) en dehors du FOR, il me met n'importe quoi ???

Message cité 1 fois
Message édité par sideo le 03-11-2006 à 19:41:04
Reply

Marsh Posté le 03-11-2006 à 19:57:17    

sideo a écrit :

Done.
Et autre chose : Pourquoi lorsque je j'essai de printf("%s\n", tab) en dehors du FOR, il me met n'importe quoi ???


tab contient est une chaine de caractères valides ?
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 03-11-2006 à 20:04:24    

Emmanuel Delahaye a écrit :

tab contient est une chaine de caractères valides ?


bin le resultat du random... :??:  :(  

Reply

Marsh Posté le 03-11-2006 à 20:12:35    

sideo a écrit :

bin le resultat du random... :??:  :(


Et tu files çà à bouffer à un "%s" ? T'as peur de rien... ou tu fais n'importe quoi.  
 
Tu as déjà lu un livre de C ? Tu apprends le C comment ? En lisant les blagues Caram'bar ?


Message édité par Emmanuel Delahaye le 03-11-2006 à 20:13:37

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 03-11-2006 à 20:24:49    

2eme semaine de programmation...
Edit = J'ignorai l'existance du C avant (enfin presque...)


Message édité par sideo le 03-11-2006 à 20:25:12
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed