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

 


Dernière réponse
Sujet : Fonction "random" ou "shuffle" en C++ : ça existe ?
nrv_from_cnr Merci à toi !
Nrv ;-)

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
nrv_from_cnr Merci à toi !
Nrv ;-)
z0rglub 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é...
nrv_from_cnr Je suis intéressé yep ;-)
mErCi BuLgR0z :-)
Nrv ;-)
z0rglub 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
z0rglub

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

[SDF]Poire

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....

nrv_from_cnr 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]

wpk

[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)

[SDF]Poire

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...

wpk 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));
[SDF]Poire Rand et Random donne des nombres pseudo aléatoires et ça on peut rien y faire....
z0rglub

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.

Olivier51 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 !!!
[SDF]Poire

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 ?

nrv_from_cnr Non mais c'est bon, ça marche, hein !
;-)
VS 6 comme compilateur.
Voilà voilà ...
A+, Nrv ;-)
[SDF]Poire 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]

nrv_from_cnr 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 ;-)
z0rglub 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.
[SDF]Poire randomize() n'est pas compatible sous linux.... (T sous linux ?)
nrv_from_cnr 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 ;-)
z0rglub 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
nrv_from_cnr Confirmation, la commande existe dans cette librairie.
Tu connais la syntaxe ?! Je suis en train de galérer ;-)
Merci d'avance !
A+, Nrv ;-)
Olivier51 Regarde la fonction rand() dans stdlib.h je crois ... (stdlib.h est une bibiothèque standart tu dois l'avoir).
nrv_from_cnr 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 ;-) ?

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