Page 1 sur 1
[R] Tableau 2D
Posté : jeu. 13 août 2015 10:29
par jcaspar
B
onjour à tous !
Je viens vous posez une question qui vous paraitra basique ... je suis entrain d'apprendre à manipuler des tableaux à deux dimensions ...
j'ai donc créer un petit script .. je ne comprends pas pourquoi l'affichage du tableau est vide ...la variable $fill se crée bien ....mais le tableau ne se remplit pas
pouvez vous m'expliquer pourquoi ?
En vous remerciant pour vos explications
Jean-Marc
► Afficher le texte
Code : Tout sélectionner
#Include <Array.au3>
#include <MsgBoxConstants.au3>
local $array[0][0]
for $i=0 to 10
$i+=1
for $j=0 to 10
$j+=1
$fill=$i& "|" &$j
msgbox(64,"Remplissage tableau 2D",$fill)
_ArrayAdd($array, $fill)
Next
next
_ArrayDisplay($array)
Re: [..] Tableau 2D
Posté : jeu. 13 août 2015 11:02
par jguinch
Plusieurs choses ne vont pas :
Tu déclares un tableau à deux colonnes et tu essaies d'écrire deux colonnes. Il faut donc déclarer un tableau à deux colonnes au départ.
Sinon, pas besoin d'incrémenter $i et $j, puisque la boucle le fait (c'est son boulot)
► Afficher le texte
Code : Tout sélectionner
#Include <Array.au3>
Local $array[0][2]
For $i=0 to 10
For $j=0 to 10
$fill=$i& "|" &$j
_ArrayAdd($array, $fill)
Next
Next
_ArrayDisplay($array)
Re: [..] Tableau 2D
Posté : jeu. 13 août 2015 11:10
par jcaspar
Merci beaucoup ces précisions ...
En fait il faut donner la dimension de base comme array [0][2]
contrairement à un tableau à une dimension .... ou il faut donner une dimension array [0] sinon on se retrouve avec un tableau "doublé"
J'aurais encore appris quelquechose !
Re: [..] Tableau 2D
Posté : jeu. 13 août 2015 11:29
par jguinch
N'oublie pas la balise [R] si c'est OK.
Re: [..] Tableau 2D
Posté : jeu. 13 août 2015 13:01
par mikell
En fait dans ce cas précis le nombre de lignes et de colonnes du tableau est connu au départ puisque ce sont les valeurs utilisées dans les boucles For
_ArrayAdd est très bien mais elle fait tout le boulot et corrige même certaines erreurs, ce qui n'aide pas vraiment à la compréhension de comment le schmilblic à 2 dimensions fonctionne
Donc vaudrait mieux commencer par qqe chose comme ça
Code : Tout sélectionner
#Include <Array.au3>
Local $n = 10
Local $array[$n][8]
For $i=0 to $n-1
For $j=0 to 8-1
$array[$i][$j] = $i& "x" &$j
Next
Next
_ArrayDisplay($array)