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

  FORUM HardWare.fr
  Programmation
  C++

  cpp - generer un nombre aleatoirement? probleme

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

cpp - generer un nombre aleatoirement? probleme

n°431779
gogoprog
/* - */
Posté le 18-06-2003 à 12:15:25  profilanswer
 

bonjour,
 
jai besoin de genrer un nombre aleatoirement dans une boucle.
Jutilise ceci pour faire le nombre :
 
srand((unsigned) time(NULL));
iNombre=rand() % 16;
 
 
mais le nombre est pa tres aleatoire... (tres repetitif, apres avoir changé 3x il reste le meme...)
Bref ca marche pas au point.
 
Que dois-je faire?

mood
Publicité
Posté le 18-06-2003 à 12:15:25  profilanswer
 

n°432161
Taz
bisounours-codeur
Posté le 18-06-2003 à 17:22:26  profilanswer
 
n°432509
xWillow
Posté le 18-06-2003 à 23:50:38  profilanswer
 

Code :
  1. const unsigned N= time(NULL) % RAND_MAX;
  2.   printf("comparaison entre my_bad_rand et my_better_rand\n"
  3.          "nombre d\'iterations (bigger is better) : " );
  4.   unsigned i, size;

 
tu es sur que ce soit bien correct en C ?

n°432517
Taz
bisounours-codeur
Posté le 19-06-2003 à 00:08:02  profilanswer
 

pour le const, non, par contre le reste est tout à fait légal

n°432518
xWillow
Posté le 19-06-2003 à 00:16:13  profilanswer
 

c'est meme legale pour sarkozy ?

n°432524
Taz
bisounours-codeur
Posté le 19-06-2003 à 00:17:55  profilanswer
 

sauf le cas pas de chance ou N prends zero, malloc retourne alors NULL... fodrait que je réécrives tout ça

n°432527
Coldplay
Posté le 19-06-2003 à 00:21:33  profilanswer
 

jolie coloration syntaxique en html

n°432529
Taz
bisounours-codeur
Posté le 19-06-2003 à 00:21:46  profilanswer
 

fo pas pousser non plus

n°432531
xWillow
Posté le 19-06-2003 à 00:28:15  profilanswer
 

je pense pas que ton code se compile en gcc 2.95

n°432533
Coldplay
Posté le 19-06-2003 à 00:32:30  profilanswer
 

non mais c meme sur =)
 
mais bon visual C de micro application, ça a l'air sympa apparement

mood
Publicité
Posté le 19-06-2003 à 00:32:30  profilanswer
 

n°432540
Taz
bisounours-codeur
Posté le 19-06-2003 à 00:45:31  profilanswer
 

C99 ça vous dit quelque chose? c'est pas parce que VC à plusieurs années qu'il faut utiliser une aussi vieille version de gcc

n°432541
xWillow
Posté le 19-06-2003 à 00:47:52  profilanswer
 

tagueule.
je prend la version de gcc que je veux et ta norme pourri j'en ai rien a foutre.

n°432543
Coldplay
Posté le 19-06-2003 à 00:48:32  profilanswer
 

Bah en fait, moi qd ça compile pas je modifie les sources, je change pas de compilateur. :p
Un prog qui compile partout c qd mm plus "portable"

n°432544
xWillow
Posté le 19-06-2003 à 00:49:26  profilanswer
 

non le mieux c'est de faire du code qui se compile que sur ton pc

n°432554
Taz
bisounours-codeur
Posté le 19-06-2003 à 01:02:37  profilanswer
 

vous voulez je vous mail le draft du C99 (qui date de 99 evidemment?)
 
quand vous aurez fini vos conneries... const fait partie de l'ANSI, la seule chose C99 de mon code c'est les déclarations de variables partout. vous etes gonflant... j'ai ecris ce truc y a bien 2 ans, et y avait déjà le support de C99 dans gcc. je sais que tout le monde peut pas avoir un gcc-3.3 ultra récent, mais tout le monde peut se procurer un 3.2.
 
et pour votre info Linux compilera bientot plus avec gcc < 3

n°432565
xWillow
Posté le 19-06-2003 à 01:19:47  profilanswer
 

non on est pas gonflant, je peux pas compiler ton code source de merde avec ma version foireuse de gcc =)
ca te fais quoi de mettre toutes les variables au debut ?
moi ca m'evite d'avoir a modifier les sources toi ca te change rien

n°432566
Taz
bisounours-codeur
Posté le 19-06-2003 à 01:21:11  profilanswer
 

c'est quoi ce bordel, 'jai jamais forcé personne à compiler mon code.... je retourne pondre des modules C pour Python, la bas, la communauté apprécie le C99 comme gage de qualité. a bon entendeur...

n°432601
Angel_Doog​las
Le dernier des humains
Posté le 19-06-2003 à 04:36:18  profilanswer
 

Pour repondre a la question du monsieur, visiblement il fait un srand a chaque tour de boucle, ce qui expliquerait ces changements periodiques.
Le srand doit etre declare "en debut" de programme et il ne faut plus y toucher. Si tu en fais une utilisation serieuse/poussee, change de generateur, le standard est mauvais (google mersenne twister, tu auras un generateur valable).

n°432794
darkalt3
aaaargh
Posté le 19-06-2003 à 11:50:40  profilanswer
 

Mais non il n'est pas mauvais le srand ... il faut initialiser en début de programme la 'pile' random en utilisant randomize ... sinon on a tjs la meme pile et donc tjs les memes nombres.
 
ex:  
randomize();
int number=random(40)+1;
 
etc
.
.
.
 
cordialement, alt3.

n°432857
gogoprog
/* - */
Posté le 19-06-2003 à 12:52:21  profilanswer
 

darkalt3 a écrit :

Mais non il n'est pas mauvais le srand ... il faut initialiser en début de programme la 'pile' random en utilisant randomize ... sinon on a tjs la meme pile et donc tjs les memes nombres.
 
ex:  
randomize();
int number=random(40)+1;
 
etc
.
.
.
 
cordialement, alt3.


 
Il se trouve dans quel header randomize?

n°432870
xWillow
Posté le 19-06-2003 à 13:07:58  profilanswer
 

Citation :

c'est quoi ce bordel, 'jai jamais forcé personne à compiler mon code....

 
non mais coupe internet chez toi hein, tu risques de te faire du mal

n°432909
darkalt3
aaaargh
Posté le 19-06-2003 à 13:44:02  profilanswer
 

gogoprog a écrit :


 
Il se trouve dans quel header randomize?


 
hop: stdlib.h
(de rien)


Message édité par darkalt3 le 19-06-2003 à 14:11:58
n°432921
Taz
bisounours-codeur
Posté le 19-06-2003 à 13:52:23  profilanswer
 

:heink:

n°433016
Angel_Doog​las
Le dernier des humains
Posté le 19-06-2003 à 14:40:27  profilanswer
 

darkalt3 a écrit :

Mais non il n'est pas mauvais le srand ... il faut initialiser en début de programme la 'pile' random en utilisant randomize ... sinon on a tjs la meme pile et donc tjs les memes nombres.
 
ex:  
randomize();
int number=random(40)+1;
 
etc
.
.
.
 
cordialement, alt3.


 
...
C'est exactement ce que je viens de dire... Sauf que toi tu lui files un generateur qui n'est pas forcement mieux et qui  est apparemment non standard :o
 

n°433055
darkalt3
aaaargh
Posté le 19-06-2003 à 14:51:33  profilanswer
 

Angel_Dooglas a écrit :


 
...
C'est exactement ce que je viens de dire... Sauf que toi tu lui files un generateur qui n'est pas forcement mieux et qui  est apparemment non standard :o
 
 


 
Pas forcément mieux, je te l'accorde à 100%.
Mais non standard ? stdlib ? je ne comprends pas :/

n°433057
Taz
bisounours-codeur
Posté le 19-06-2003 à 14:52:45  profilanswer
 

ben les OS se gène pas pour rajouter des tas de truc dans les entetes standards

n°433067
darkalt3
aaaargh
Posté le 19-06-2003 à 14:59:39  profilanswer
 

++Taz a écrit :

ben les OS se gène pas pour rajouter des tas de truc dans les entetes standards


 
Bah oui mais randomize(), on la trouve dans le k&r non ?

n°433076
Angel_Doog​las
Le dernier des humains
Posté le 19-06-2003 à 15:04:07  profilanswer
 

darkalt3 a écrit :


 
Bah oui mais randomize(), on la trouve dans le k&r non ?


 
srand() pour la graine et rand() pour la generation.

n°433088
darkalt3
aaaargh
Posté le 19-06-2003 à 15:12:51  profilanswer
 

Angel_Dooglas a écrit :


 
srand() pour la graine et rand() pour la generation.  


 
Ok c noté, merci :D

mood
Publicité
Posté le   profilanswer
 


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

  cpp - generer un nombre aleatoirement? probleme

 

Sujets relatifs
Problème config serveur[ASP]Probleme de connexion a une base de donnée
Gros problème : DLL manquante..Problème avec adodb
[vba/access] Problème de déclaration avec dim...Aide pour une requete "nombre de connexion par tranche horaire"
[HTML] Problème de conception[devc++] probleme pour includer un .h
probleme a la compilation pour afficher une fenetre avec SDL et opengl[XHTML][CSS] Probleme d'intentation dans un div
Plus de sujets relatifs à : cpp - generer un nombre aleatoirement? probleme


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR