[Func] _ArrayRandom

Partagez des fonctions et des UDF AutoIt.
Règles du forum
.
Répondre
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

[Func] _ArrayRandom

#1

Message 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
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [Func] _ArrayRandom

#2

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

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
tolf
Niveau 7
Niveau 7
Messages : 318
Enregistré le : ven. 15 févr. 2008 12:25
Localisation : Paris
Status : Hors ligne

Re: [Func] _ArrayRandom

#3

Message 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
Lisez la documentation d'AutoIt en français (et participez svp :mrgreen:) !

Mes UDF :
[/i][/b]
Répondre