Parcour d'un tableau en diagonale

cs_Sapeur_Pompier Messages postés 4 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 19 janvier 2005 - 10 déc. 2004 à 15:40
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 - 22 janv. 2005 à 20:32
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

cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
10 déc. 2004 à 19:17
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
++
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
10 déc. 2004 à 19:18
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)
0
cs_Sapeur_Pompier Messages postés 4 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 19 janvier 2005
19 janv. 2005 à 10:54
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
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
22 janv. 2005 à 20:32
;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
0
Rejoignez-nous