Parcour d'un tableau en diagonale

Signaler
Messages postés
4
Date d'inscription
mercredi 3 novembre 2004
Statut
Membre
Dernière intervention
19 janvier 2005
-
Messages postés
2113
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
-
Salut les gens,
je dois parcourrir un tableau a deux dimension de maniere diagonale.
je m'explique, je demarre en [0][0], ensuite [1][0], ensuite [0][1], ensuite [0][2],ensuite [1][1],ensuite [0][2],ensuite [0][3] et ainsi de suite.
vous avez une idées sur l'algo a programmer en java????
merci et c'est un peu urgent en fait......
bye

4 réponses

Messages postés
2113
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
11
GodConan :clown)

euu a koi ca ser? ;o)

bon autrement je te propose ca :
soit case[x][x] un tableau de dimension carre
(ca simplifie un peu l algo ;o) si la dim est asymetric il te faut tester le cote le plus long et parcourir les diago en concequence...)
// parcour de la 1ere moitier de tableau
for ( int i = 0; i<case.length; i++ ){
for ( int j = 0 ; jj; i-- ){
utilise case[ i ][ case.length - i ] // (carre)
}}

voila autrement tu peu aussi faire un parcour lineaire a l aide d un Vector si tu prepare a linite de ton tableau un vector de reference sur chaque case en les prenant par diagonale...

GL
++
Messages postés
2113
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
11
GodConan :clown)

au fait g pas tester ;o) g fait ca vite fait de tete dc taffole pas si ca passe pas a la compile ;o)
Messages postés
4
Date d'inscription
mercredi 3 novembre 2004
Statut
Membre
Dernière intervention
19 janvier 2005

Salut GodConan,
ton algo semble fonctionner, seulement le hic c'est que c'est pas le bon
sens de parcour, par ton algo le tableau par de la premiere case en haut a gauche
puis il descend sur la case [1][0]. alors que moi il doit commecer surla
premiere case pour se diriger en case [0][1] puis continuais sur le meme
algo que toi mais dans le sens inverse en fait.
j'espere que tu as compris mon soucis lolol
merci d'avance si tu me reponds.bye
Messages postés
2113
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
11
;o) si c est juste un prob de sens de parcours... ;o) il te suffi d inverser les x et y ;o) mais ds un algo le sens de parcour n a pas vraiment d importance temps que c est toujours le meme qui est utilisé... ;o)

dc en modifiant comme ceci cela devrai passer

// parcour de la 1ere moitier de tableau
for ( int i = 0; i<case.length; i++ ){
for ( int j = 0 ; jj; i-- ){
utilise case[ case.length - i ][ i ] // (carre)
}}

GL
++

GodConan