demande de conseil sur pogrammation random d'une playlist [c] - C - Programmation
Marsh Posté le 12-07-2003 à 17:31:11
moi je conseille de plutot mélanger le tableau plutot qu'autre chose: c'est chiant les playlist qui te repassent 2 fois la meme chanson alors qu'il y en a plein de pas ecoutées.
comment avoir un bon nombre aléatoire?
Code :
|
voilà. pour l'algo pour mélanger un tableau, je sais pas trop par contre, mais si tu fais des permutations au pif, ça doit marcher à peu pres
Marsh Posté le 12-07-2003 à 18:29:46
ok , ben merci bcp , j'en demandais pas autant , tu m'a mâché tout le travail , merci !!!
Marsh Posté le 12-07-2003 à 19:13:03
++Taz a écrit :
|
<Mode méga boulet activé>
Boh je comprends pas, quand je compile ton code, il me sort qu'il trouve pas la fin de fichier ...
<Mode méga boulet désactivé>
T'as oublié une accolade dans ton copier coller !
Marsh Posté le 12-07-2003 à 19:30:36
maxi boulet, j'ai pas donné un programme, j'ai donné tous les éléments qu'il faut pour obtenir des nombre pseudo-aléatoires...
Marsh Posté le 12-07-2003 à 19:48:08
++Taz a écrit : maxi boulet, j'ai pas donné un programme, j'ai donné tous les éléments qu'il faut pour obtenir des nombre pseudo-aléatoires... |
taz il poste ses progs sur HFR pour qu'on lui trouve les accolades qu'il oublie de fermer
Marsh Posté le 12-07-2003 à 19:55:04
farib a écrit : |
ouais, ben personne m'a dit qu'il manquait un return 0;, je peux toujours courir...
Marsh Posté le 12-07-2003 à 20:03:19
++Taz a écrit : ouais, ben personne m'a dit qu'il manquait un return 0;, je peux toujours courir... |
tain ... en plus, t'es vraiment naze : tu te casses en 2 pour faire une fonction my_better_rand que t'utilises même pas ... Pfff ... Tu programmes vraiment n'importe comment ...
Marsh Posté le 12-07-2003 à 20:08:08
voila suffit de changer la position de chaque chanson dans la playlist
Code :
|
Marsh Posté le 12-07-2003 à 20:14:04
red faction a écrit : voila suffit de changer la position de chaque chanson dans la playlist
|
Pour être un peux sérieux aussi, je dirais que le nombre d'itérations devrait dépendre du nombre d'éléments dans la liste ... sinon, ca ne mélangera sans doute pas suffisamment dans le cas de liste immenses ... (style sur 400 tracks, si tu ne fais 'que' 100 permutations, bcp de tracks vont rester dans le même ordre)
Edit : avec un nombre d'itération du niveau de 2x le nb d'éléments (comme dans l'exemple de red faction), ca devrait être largement ok ...
Marsh Posté le 12-07-2003 à 21:35:47
STL à la rescousse. si t'arrives pas à traduire en C, je te le ferais
Code :
|
Marsh Posté le 12-07-2003 à 22:25:34
bon je garantie pas sans bugs, mais pendant la pub de smallville, j'ai traduit en C. sur cet exemple avec efence, ça segfault pas, donc ça à l'air de tenir la route. j'ai suivi strictement l'algo de STL
Code :
|
Marsh Posté le 12-07-2003 à 22:45:05
merci bcp je vais essayer avec cette nouveauté !!
car pour l'exmple précédent pb avec cette methode , c'est que mon nombre d'element de la playlist varie avec le random.
Au debut j'en ai 288 , un coup de random et hop 312 , parfois 39 , parfois 120 ...je vais essayer avec ca , merci encore
Marsh Posté le 12-07-2003 à 23:15:17
ca y est c implémenté et ca marche parfaitement sans plantag e, rien , c bonheur !!
merci
Marsh Posté le 29-11-2005 à 00:16:36
Code :
|
Quand j'execute ce code 4 fois j'obtiens par exemple :
89, 76, 49, 95, 8, 33, 68, 99, 50, 41, 37, 96, 85, 53, 86, 94, 43, 55, 63, 82,
89, 9, 3, 69, 39, 45, 77, 90, 1, 22, 36, 96, 52, 4, 54, 47, 25, 12, 68, 53,
89, 32, 39, 64, 37, 72, 58, 21, 58, 66, 28, 99, 36, 63, 41, 52, 80, 80, 75, 18,
89, 24, 57, 66, 9, 52, 0, 87, 14, 84, 21, 1, 50, 21, 57, 46, 7, 23, 58, 94,
C'est normal que la première valeure soit toujours la même ?
Ca m'oblige à ne pas tenir compte de la première valeure, et de n'utiliser que les valeurs suivantes.
Autrement, si j'execute le programme dans la même seconde, j'obtiens la même suite de valeurs. Surement dû au fait que c'est basé sur le nombre de secondes ecoulées depuis le 01/01/1970. Un peu génant, mais ca ira.
Marsh Posté le 29-11-2005 à 00:42:35
Euh ... bon en fait j'ai fait un truc plus simple :
Code :
|
Et ça marche parfaitement pour ce dont j'ai besoin
Marsh Posté le 29-11-2005 à 08:06:25
Face_Off a écrit :
|
J'ai remarqué ça avec la bibliothèque de mingw. Il doit y avoir un petit bug dans les fonctions rand() ou srand(). Depuis, j'ignore le premier tirage.
Je vais quand même vérifier avec gcc/Linux pour être sûr...
Marsh Posté le 29-11-2005 à 10:07:30
Emmanuel Delahaye a écrit : Je vais quand même vérifier avec gcc/Linux pour être sûr... |
Sous Solaris/cc (Sun Workshop 6), il n'y a pas ce problème.
Marsh Posté le 29-11-2005 à 19:13:24
Dites moi, vous avez quand meme remarque que le topic etait vieux de presque deux ans avant ce magnifique repechage ?
Marsh Posté le 29-11-2005 à 20:11:10
matafan a écrit : Dites moi, vous avez quand meme remarque que le topic etait vieux de presque deux ans avant ce magnifique repechage ? |
Oui, mais pour une fois je trouve que ce up n'est pas injustifié, la question posée colle pile au sujet.
C'est pas souvent, et je ne connaissais pas le bug (s'il est avéré) de mingW.
Marsh Posté le 12-07-2003 à 17:16:08
C , SOUS LINUX / UNIX
Je voudrais juste queques conseils sur comment on peut randomiser une playlist .
Pour le moment , j'ai:
- une playlist qui est sauvée sous forme de tableau .
- une fonction random qui me sort au hasard un nombre a partir d'un intervalle .
ce que je voudrais c'est produire un radom qui mélange la playlist sans redondance de fichier .
Donc ben je voulais savoir si il existe une fonction pour faire ca , car j'ai pas trouvé .
Si ca existe pas comment eviter la redondance d'un nombre ?