Page 1 sur 1

[Func] _ArrayRandom

Posté : sam. 27 sept. 2008 10:40
par timmalos
Bonjour a tous, suite a des besoins personnels j'ai du creer cette fonction.

Elle mélange une array de manière aleatoire,
C'est a dire que si votre array comporte [0,1,2,3,4,5,6,7,8,9] elle pourra après passage comporter [9,4,8,1,7,3,2,5,6]
Peut etre que ca existait deja, mais codant sur un ordinateur sans internet, j'ai du refaire un semblant de fonction utilisant _ArraySwap

Synthaxe:
_ArrayRandom($Array,$debut,$fin,[$nombre_de changements = 100])

Il faut renseigner au moins 3 parametres sur les 4:

$Array: Votre array
$debut: Le debut ou la fonction va commencer a melanger
$fin: La fin du mélange
Je m'explique, si votre array est [0,1,2,3,4,5,6,7,8,9],et que vous mettez $start = 3 et $fin = 7, alors les 3 premiers[0,1,2] ne changeront pas, mais [3,4,5] va se melanger, mais [7,8,9] restera tel quel egalement.
$nombredechangements va influer sur le temps d'execution de la fonction. Plus votre array est grande, plus je vous conseille de mettre un nombre grand.
Si ce parametre n'est pas rensigné, il est egal à 100, c'est a dire qu'il va y avoir 100 lignes de votre array qui vont etre echangées entre elles.

Succes : Retourne la nouvelle array melangée
Erreur: Retourne
0 si l'array n'est pas correcte
1 si les parametres $debut et $fin ne sont pas corrects
-1 si le parametre $nombredechangements n'est pas correct
► Afficher le texte
C'est ma première veritable fonction, aussi j'aimerais que vous me disiez ce que vous en pensez. Merci

Re: [Func] _ArrayRandom

Posté : sam. 27 sept. 2008 11:57
par Tlem
Pas mal.
Je me suis permis d'améliorer votre fonction comme ceci :
► Afficher le texte_ArrayRandom
Cela permet d'utiliser la fonction avec un seul argument ($Array) au cas ou on veut mélanger l'ensemble du tableau.
J'ai aussi modifié le contrôle des variable pour prendre en compte la saisie par erreur d'une chaîne au lieu d'un nombre. ;)
Suite à ces changements, la boucle de mélange peut donc être simplifiée comme je l'ai fait.

Re: [Func] _ArrayRandom

Posté : sam. 27 sept. 2008 12:07
par tolf
J'avais moi-même codé une fonction mélangeant une table au hasard donc si ça vous intéresse c'est ici :
table 1D
table 2D