Bonsoir, j'ai un soucis assez urgent: j'ai un objet qui est un tableau de point et je fais en quelque sorte un parcours en zig-zag d'une matrice. Par parcours en zig-zag, je veux dire que j'inverse les lignes impaires de la manière suivante :
Si j'ai la matrice suivante :
(3,3,3
M = (5,5,5
(6,7,8)
Mon tableau de points doit valoir :
[(0,0),(0,1),(0,2),(1,2),(1,1),(1,0),(2,0),(2,1),(2,2)];
Les valeurs dans la matrice ne m’intéressent pas du tout, uniquement leurs positions géometrique :
J'ai codé quelque chose, qui ne marche pas tout le temps. Donc si quelqu'un peut corriger ma version pour en donner une meilleure , ça serait cool :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public void parcoursZigZag(int debH,int finH, int debL, int finL) { coinImage = new Point[(finH -1) - debH + 1) * (finL - 1) - debL + 1)]; //coinImage est mon objet (tableau de Point) int position1D = 0; for(int i = debH; i < finH; i++) { for(int j = debL; j < finL; j++) { if(i % 2 == 0 { coinImage[position1D] = new Point(i,j); } else { coinImage[position1D] = new Point(i,(finL - j) - 1); } position1D++; } }
Partager