Tableau aleatoire
Résolu/Fermé
A voir également:
- Tableau aleatoire
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Trier tableau excel - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
5 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
6 juin 2009 à 14:09
6 juin 2009 à 14:09
Salut,
Je te conseillerais d'utiliser un autre algorithme.
Par exemple, tu remplis le tableau de manière statique lors de l'initialisation. Et ensuite, tu effectues 30 itérations pour permuter les indices du tableau afin de le mélanger. La répartition devrait être meilleure.
Tiens nous au courant ;-))).
Je te conseillerais d'utiliser un autre algorithme.
Par exemple, tu remplis le tableau de manière statique lors de l'initialisation. Et ensuite, tu effectues 30 itérations pour permuter les indices du tableau afin de le mélanger. La répartition devrait être meilleure.
Tiens nous au courant ;-))).
Je ne comprend pas bien comment faire. Je dois faire une fonction qui me donne des indices aléatoires pour deux cases et les échanger ? Et le faire 30 fois ? Ne puis-je pas partir de ma fonction et donc du tableau déjà crée ?
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
6 juin 2009 à 15:31
6 juin 2009 à 15:31
En gros, ceci donnerait en langage algorithmique :
Ne puis-je pas partir de ma fonction et donc du tableau déjà crée ?
Le problème de ton algorithme est que tu n'as pas une bonne répartition de l'aléatoire.
C=30 TantQue C>30 Faire : i <- nbAlea(); //entre 0 et 63 compris j <- nbAlea(); //entre 0 et 63 compris echanger(plateau[0][i],plateau[0][j]) C <- C-1 FinFaire
Ne puis-je pas partir de ma fonction et donc du tableau déjà crée ?
Le problème de ton algorithme est que tu n'as pas une bonne répartition de l'aléatoire.
Encore quelques petites questions: existe-t-il une fonction prédéfinie pour faire "échanger" ou dois-je faire sa avec une variable temporaire ? et si je met " echanger(plateau[0][i],plateau[0][j])" avec les indices i et j compris entre 0 et 63 cela ne provoquera pas une erreur de mémoire ? a moins que le espace mémoire dédie des lignes se suivent ...0o
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
6 juin 2009 à 15:55
6 juin 2009 à 15:55
existe-t-il une fonction prédéfinie pour faire "échanger" ou dois-je faire sa avec une variable temporaire ?
Tu dois faire la fonction toi-même. Mais bon, trois petites lignes ^^.
a moins que le espace mémoire dédie des lignes se suivent ...0o
Eh oui, en C, les cases du tableau se suivent. Ainsi plateau[0][8] désignera plateau[1][0] (si plateau est un tableau 8x8). Si cet aspect te dérange, tu peux utiliser le modulo et la division pour avoir accès à la ligne et colonne, ou calculer deux fois plus de variables pseudo-aléatoires entre 0 et 7 compris.
Cdlt
Tu dois faire la fonction toi-même. Mais bon, trois petites lignes ^^.
a moins que le espace mémoire dédie des lignes se suivent ...0o
Eh oui, en C, les cases du tableau se suivent. Ainsi plateau[0][8] désignera plateau[1][0] (si plateau est un tableau 8x8). Si cet aspect te dérange, tu peux utiliser le modulo et la division pour avoir accès à la ligne et colonne, ou calculer deux fois plus de variables pseudo-aléatoires entre 0 et 7 compris.
Cdlt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question