Probleme random_shuffle

imothepe_33 Messages postés 168 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 28 novembre 2012 - 15 févr. 2005 à 13:57
imothepe_33 Messages postés 168 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 28 novembre 2012 - 8 mars 2005 à 17:54
Je suis en train de developper un jeu:le Taquin sous VC++ 6.0 et j'ai un probleme avec la fonction random_shuffle ; lorsque je compile, j'ai un message du genre : 'random_shuffle' undeclared indentifier ;je crois que cela est du au fait que je ne met pas le fichier entete #include . Au fait je ne sait pas ou je vais le placer, je veux dire dnas quel fichier je dois le mettre.
Merci de me répondre...

11 réponses

addamsmercredi Messages postés 121 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 27 juillet 2006
15 févr. 2005 à 17:18
Si c'est le bon fichier d'entête, il faut que tu mettes la ligne #include au début du fichier dans lequel tu appelles la fonction random_shuffle.

Je ne peux pas vérifier car je ne crois pas avoir cette fonction, en général j'utilise les fonctions randomize et random disponibles dans les librairies des compilateurs de Borland.
0
imothepe_33 Messages postés 168 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 28 novembre 2012 7
16 févr. 2005 à 13:50
J'ai bien mis le fichier à l'endroit ou je tape mon code principal mais j'ai toujours ce message.
Dit moi , est il possible d'utiliser la librairie dont tu parles dans VC++ 6.0. Si oui peux tu me l'envoyer à imothepe_33 @ hotmail.com .STP
Merci...(Only the strong survive !!!!)
0
addamsmercredi Messages postés 121 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 27 juillet 2006
16 févr. 2005 à 14:40
Si tu veux utiliser de l'aléatoire, tu n'as qu'à faire comme ceci ça sera plus simple :



#include <stdlib.h>
#include <time.h>


// fonction à appeler avant d'appeler la première fois aleatoire
void initialise_aleatoire(void)
{
srand ((unsigned) time (NULL));
}


// renvoie un nombre aléatoire entre 0 et num
int aleatoire (int num)
{
return (int) ( rand() % (num));
}



int main()
{
int a;
initialise_aleatoire();


// un nombre aléatoire entre 0 et 9
a = aleatoire(10);
printf("%d\n", a);


// un nombre aléatoire entre 5 et 20
a = aleatoire(16) + 5;
a = printf("%d\n", a);
}
0
addamsmercredi Messages postés 121 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 27 juillet 2006
16 févr. 2005 à 14:46
Oups, j'ai mis par erreur un "a =" de trop à la dernière ligne avant le printf...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
imothepe_33 Messages postés 168 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 28 novembre 2012 7
16 févr. 2005 à 15:55
Merci! Je vais essayer et je te fait signe...
0
imothepe_33 Messages postés 168 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 28 novembre 2012 7
16 févr. 2005 à 16:02
Merci! Je vais essayer et je te fait signe...
0
addamsmercredi Messages postés 121 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 27 juillet 2006
16 févr. 2005 à 16:29
Ok, j'espère que ça ira aussi avec VC++.
J'ai vu une petite erreur que j'ai fait dans le commentaire de la fonction aléatoire.
Je pense qu'avec mes exemples dans le main c'est clair, la fonction aleatoire renvoie un nombre compris entre 0 et num - 1 (puisque je fais modulo num).
0
imothepe_33 Messages postés 168 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 28 novembre 2012 7
21 févr. 2005 à 15:43
c cool ça marche ms j'ai un probleme avec ma fonction d'initialisation c-a-dire je cherche à ecrire une fonctin ki initialise un tableau de valeur au hasard ms de telle sorte kil n'y est pas de doublons.
0
imothepe_33 Messages postés 168 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 28 novembre 2012 7
28 févr. 2005 à 14:52
Tout marche.Mais il ya un petit probleme.quand je quitte mon programme, il m'affiche un message à peut pret de ce genre "erreur ...la memoire ne pas etre read....." .J'aimerais savoir ceux a koi cela est du..
0
addamsmercredi Messages postés 121 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 27 juillet 2006
28 févr. 2005 à 15:12
Pour ta première question du 21 février, il faut vérifier que la valeur choisie n'est pas déjà présente dans les précédentes cases du tableau et si elle l'est, il faut rechoisir une autre valeur au hasard.
Pour ta nouvelle question, je n'en sais rien du tout. Mais comme ça n'a pas de rapport avec la fonction random, je te conseille de poser ta question dans un nouveau sujet de manière à ce que tout le monde la voit.
0
imothepe_33 Messages postés 168 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 28 novembre 2012 7
8 mars 2005 à 17:54
J'ai deja trouvé une solution pour la fonction d'initialisation .C un algo tout bête
mais tres efficace.Il part du principe selon lequelle on choisi part hasard des indice du tableau
et on fait une permutetion entre les éléments choisis.
Au fait pourrais tu me donner un lien où je peux trouver un bon tutoriel en français
concernant l'accès aux données en c++ avec ADO ?

Merci...(Only the strong survive)
0
Rejoignez-nous