UDF > Array >


_ArraySwap

Echange les �l�ments d'un tableau 1D ou �change complet ou partiel de deux lignes ou deux colonnes dans un tableau 2D

#include <Array.au3>
_ArraySwap ( ByRef $aArray, $iIndex_1, $iIndex_2 [, $bCol = False [, $iStart = -1 [, $iEnd = -1]]] )

Param�tres

$aArray Tableau � traiter
$iIndex_1 Index du premier �l�ment (1D) ou de la premi�re ligne/colonne (2D) � �changer
$iIndex_2 Index du second �l�ment (1D) ou de la seconde ligne/colonne (2D) � �changer
$bCol [optionnel] Si True alors, pour un tableau 2D, les param�tres suivants font r�f�rence � des colonnes; si False (par d�faut) les param�tres suivants font r�f�rence � des lignes
$iStart [optionnel] Index de la ligne ou de la colonne o� d�marrer l'�change (tableau 2D seulement)
$iEnd [optionnel] Index de la ligne ou de la colonne o� arr�ter l'�change (tableau 2D seulement)

Valeur de retour

Succ�s: Retourne 1
�chec: Retourne -1 et d�finit @error <> 0.
@error: 1 - $aArray n'est pas un tableau
2 - $aArray n'est pas un tableau 1D ou 2D
3 - $iIndex_1 ou $iIndex_2 en dehors des limites du tableau
4 - $iStart ou $iEnd en dehors des limites du tableau
5 - $iStart est sup�rieur � $iEnd

Remarque

Les param�tres optionnels sont ignor�s pour des tableaux 1D.

En relation

_ArrayReverse

Exemple

#include <Array.au3>

Local $aArray[10] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

_ArrayDisplay($aArray, "Initial", Default, 8)
_ArraySwap($aArray, 3, 7)
_ArrayDisplay($aArray, "Echang� 3 et 7", Default, 8)

Local $aArray_Base[10][10]
For $i = 0 To 9
    For $j = 0 To 9
        $aArray_Base[$i][$j] = $i & " - " & $j
    Next
Next
_ArrayDisplay($aArray_Base, "Initial", Default, 8)

$aArray = $aArray_Base
_ArraySwap($aArray, 3, 7, False)
_ArrayDisplay($aArray, "Echang� Lignes 3 et 7 dans toutes les colonnes", Default, 8)

$aArray = $aArray_Base
_ArraySwap($aArray, 3, 7, False, 2, 5)
_ArrayDisplay($aArray, "Echang� Lignes 3 et 7, dans les colonnes 2 � 5", Default, 8)

$aArray = $aArray_Base
_ArraySwap($aArray, 3, 7, True)
_ArrayDisplay($aArray, "Echang� Cols 3 et 7 dans toutes les lignes", Default, 8)

$aArray = $aArray_Base
_ArraySwap($aArray, 3, 7, True, 2, 5)
_ArrayDisplay($aArray, "Echang� Cols 3 et7 dans les lignes 2 � 5", Default, 8)