Fonction "random" ou "shuffle" en C++ : ça existe ?

Fonction "random" ou "shuffle" en C++ : ça existe ? - Programmation

Marsh Posté le 08-12-2001 à 21:53:39    

Coucou c'est ENCORE moi ;-)
Vous savez comment je peux faire pour générer aléatoirement des nombres en C++, sans code annexe ; y a-t-il en standard une sorte de "int x; rand(x,0,10)" pour "randommer" entre 0 et 10 ?
Vous voyez ce que je veux dire ... ;-)
Merci d'avance !
A+, Nrv ;-)
 
PS : un mode d'emploi détaillé de Visual Studio 6 en PDF ou PPT ou je sais pas quoi, ça se trouve ;-) ?

Reply

Marsh Posté le 08-12-2001 à 21:53:39   

Reply

Marsh Posté le 08-12-2001 à 21:56:52    

Regarde la fonction rand() dans stdlib.h je crois ... (stdlib.h est une bibiothèque standart tu dois l'avoir).

Reply

Marsh Posté le 08-12-2001 à 22:03:06    

Confirmation, la commande existe dans cette librairie.
Tu connais la syntaxe ?! Je suis en train de galérer ;-)
Merci d'avance !
A+, Nrv ;-)

Reply

Marsh Posté le 08-12-2001 à 22:08:09    

tu fais d'abord
int score;
puis
randomize();// initialisation du Générateur de nombre pseudo aléatoire
et finalement :
score = (rand()%10)+1; // affectation d'un nombre pseudo aléatoire en 1 et 10 inclus
pour avoir entre 0 et 10, tu dois faire :
score = rand()%11; // ça devrait marcher


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
Reply

Marsh Posté le 08-12-2001 à 23:03:24    

Ok it works !  
Par contre l'initialisation ne marche pas (retour d'une erreur, randomize() n'existe pas ?!) mais même sans c'est Ok.
Merci pour tes infos !
A+, Nrv ;-)

Reply

Marsh Posté le 08-12-2001 à 23:20:20    

randomize() n'est pas compatible sous linux.... (T sous linux ?)


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 08-12-2001 à 23:22:26    

oui, en effet, c'est du code que j'avais utilisé à l'époqe où je testais l'aléatoirité des GNPA de différents languages de programmation (passionnant hein !), et je faisais tourner ça sous Borland C++, donc sous windows.


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
Reply

Marsh Posté le 08-12-2001 à 23:26:34    

Poire : Chuis sous XP ;-)
Tiens, coucou z0rglub ! Si, intéressant ... Je suis de formation plutôt scientifique, alors je connais un peu l'intérêt d'avoir des générateurs de nombres aléatoires (et non pseudo-..) :-)
Nrv ;-)

Reply

Marsh Posté le 08-12-2001 à 23:29:42    

Si T sous XP tu dois avoir randomize dans stdlib.h
(réessaye en incluant time.h C important randomize)
T'as quoi comme compilateur ?

 

[edtdd]--Message édité par [SDF]Poire--[/edtdd]


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 09-12-2001 à 01:23:35    

Non mais c'est bon, ça marche, hein !
;-)
VS 6 comme compilateur.
Voilà voilà ...
A+, Nrv ;-)

Reply

Marsh Posté le 09-12-2001 à 01:23:35   

Reply

Marsh Posté le 09-12-2001 à 11:45:27    

nrv_from_cnr a écrit a écrit :

Non mais c'est bon, ça marche, hein !
;-)
VS 6 comme compilateur.
Voilà voilà ...
A+, Nrv ;-)  




Randomize C ce qui initialise T nb aléatoires.... si tu le fais pas quand tu relances l'app C les mêmes nb qui ressortent.....
Ca marche pas en incluant time.h ?


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 09-12-2001 à 12:54:00    

Si il faut que tu rajoute une instruction qui se base sur le temps qui se trouve dans time.h, mais je ne me souviens plus c'est quoi !!!

Reply

Marsh Posté le 09-12-2001 à 13:08:55    

nrv_from_cnr a écrit a écrit :

Poire : Chuis sous XP ;-)
Tiens, coucou z0rglub ! Si, intéressant ... Je suis de formation plutôt scientifique, alors je connais un peu l'intérêt d'avoir des générateurs de nombres aléatoires (et non pseudo-..) :-)
Nrv ;-)  




 
ben si je repete Pseudo aléatoire, puisque les nombres sont données par une fonction qui utilise un paramètre, si le paramètre est le même, les nombres sortis seront les mêmes. Par exemple, une fonction est initialisée par le nombre de secondes depuis l'époque UNIX, donc si tu lances la fonction 2 fois pendant la même seconde, elle te sortira la même série de nombres. Donc c pas vraiment aléatoire.


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
Reply

Marsh Posté le 09-12-2001 à 13:44:06    

Rand et Random donne des nombres pseudo aléatoires et ça on peut rien y faire....


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 09-12-2001 à 14:09:46    

randomize c'est du basic ca  :lol: , en c/c++ pour initialiser
le generateur de nombres pseudo-aleatoires c'est srand (et c'est ANSI donc windob ou nunux meme combat)
 
void srand( unsigned int seed );
 
qui peut etre utilisé ainsi :  
 
srand(time(NULL));

Reply

Marsh Posté le 09-12-2001 à 14:27:29    

wpk a écrit a écrit :

randomize c'est du basic ca  :lol: , en c/c++ pour initialiser
le generateur de nombres pseudo-aleatoires c'est srand (et c'est ANSI donc windob ou nunux meme combat)
 
void srand( unsigned int seed );
 
qui peut etre utilisé ainsi :  
 
srand(time(NULL));  




 
randomize C pas du basic (bien que ça existe en basic....)
C une macro (seulement sous dos/win) de stdlib.h la seule différence avec srand C que randomize ne prend pas de parametres vu que C une macro...


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 09-12-2001 à 14:41:06    

[SDF]Poire a écrit a écrit :

 
 
randomize C pas du basic (bien que ça existe en basic....)
C une macro (seulement sous dos/win) de stdlib.h la seule différence avec srand C que randomize ne prend pas de parametres vu que C une macro...  




 
je sais...., mais j'suis d'humeur tacquine  :D (en plus, randomize c'est du specific borland donc avec visual tu oublie)

Reply

Marsh Posté le 09-12-2001 à 14:48:28    

Oola ... Le truc drôle dans l'affaire, c'est que dès que je relance l'applic, les nombres aléatoires changent ! ... Sans initialisation pour autant, comme ça à la bourrin ...
Mais je le répète, mon Pb est résolu, je voulais juste générer un remplissage de tableau histoire de voir si mes fonctions étaient Ok ou pas ; je voie que ça marche, après rien à battre des résultats effectifs, répétabilité etc.
A ce propos, vous savez ce que ça veut dire ça, et plus exactement comment le formaliser informatiquement :
---
Projet : stratégie de gestion d'un ascenceur.
Les arrivées des personnes sont décrites par une loi exponentielle, les choix d'étages par une loi normale.
La valeur moyenne de la loi exp sera demandée à l'utilisateur.
---
Assez laconique, je suis d'accord ...
Allé, brainstorming ;-)
 
A+, Nrv ;-)

 

[edtdd]--Message édité par nrv_from_cnr--[/edtdd]

Reply

Marsh Posté le 09-12-2001 à 15:11:48    

wpk a écrit a écrit :

 
 
je sais...., mais j'suis d'humeur tacquine  :D (en plus, randomize c'est du specific borland donc avec visual tu oublie)  




Juste Borland ? Ben ça je savais pas....


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 09-12-2001 à 15:52:16    

nrv_from_cnr a écrit a écrit :

A ce propos, vous savez ce que ça veut dire ça, et plus exactement comment le formaliser informatiquement :
---
Projet : stratégie de gestion d'un ascenceur.
Les arrivées des personnes sont décrites par une loi exponentielle, les choix d'étages par une loi normale.
La valeur moyenne de la loi exp sera demandée à l'utilisateur.
---
Assez laconique, je suis d'accord ...
Allé, brainstorming ;-)
 
A+, Nrv ;-)  




 
j'ai fais exactement la même chose l'an dernier mais plutôt qu'un ascenseur, ct une file d'attente dans une cafeteria. ça suit un processus markovien ( :ouch: le gros mot dis donc !). T'as une loi exponentielle des arrivées, la moyenne que l'utilisateur rentre manuellement correspond au nombre moyen de personne qui vont arriver pour une unité de temps que tu définis.
 
Si t'es intéréssé par ce que j'ai fait l'an dernier, je te filerai mes soures, mais c'est du matlab, et c pas tout à fait la même chose


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
Reply

Marsh Posté le 09-12-2001 à 15:53:36    

en plus t'as du bol, parce que tu dois pas gérer les priorités entre les personnes, moi, y'avais deux catégories de personnes, les profs, prioritaires, et les élèves, pas prioritaires... je me souviens avoir passé du temps sur cet algo


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
Reply

Marsh Posté le 09-12-2001 à 16:21:36    

Je suis intéressé yep ;-)
mErCi BuLgR0z :-)
Nrv ;-)

Reply

Marsh Posté le 09-12-2001 à 16:41:19    

tu trouveras une archive dans ton rep perso sur mon ftp.
C'est un peu le bordel mais l'an dernier, j'avais pas encore conscience de l'importance d'un bon archivage des TPs... cette année, je suis bien organisé...


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
Reply

Marsh Posté le 09-12-2001 à 16:44:35    

Merci à toi !
Nrv ;-)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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