-
1 pièce(s) jointe(s)
Carré et diagonales
Bonjour tout le monde,
Je galère depuis plusieurs jours sur un algo que je n'arrive pas à mettre au point. Il s'agit d'entrer dans une grille carrée les valeurs 1, 2, 3..., n en diagonale.
Voici un exemple pour une grille 4x4. Peu importe le langage de développement, j'arriverai toujours à le transcrire en Javascript pour Photoshop. Si quelqu'un a un truc assez simple à proposer, reconnaissance éternelle.
Merci d'avance.
Pièce jointe 550029
-
Bonjour :coucou:
Il existe déjà une discussion totalement identique dans ce forum. Cherche-là pour plus de détails.
Il faut utiliser les coordonnées de ta grille. Si la case en haut à gauche a pour coordonnées (0;0), alors la pseudo-diagonale a une somme des coordonnées fixe.
0 (0;0)
1 (0;1) (1;0)
2 (0;2) (1;1) (2;0)
3 (0;3) (1;2) (2;1) (3;0)
4 (1;3) (2;2) (3;1)
5 (2;3) (3;2)
6 (3;3)
16 cases. Tu les as toutes.
-
Merci beaucoup pour la réponse et surtout sa rapidité. Il n'y a plus qu'à retrouver tout ça. Content de savoir que le pb a été traité.
-
Bon, pas retrouvé cette discussion, retour à la case départ. :calim2:
-
Pas la case départ. Peux-tu indiquer en quoi la réponse fournie n'est pas suffisante ? As-tu lu ? As-tu compris ce que tu as lu ?
Ici, c'est un forum, pas un tchat. Sens-toi libre de lire, relire et re-relire un message jusqu'à ce que tu le comprennes.
-
J'ai dû me tromper de forum. Merci pour l'accueil.
-
Je crois qu'il faut quand même se forcer un peu à réfléchir… Il y a quelques années, c'était un classique des étudiants de DEUG.
Rien que ton tableau donne un indice pour élaborer une solution. Si on suppose que ton tableau est indexé comme les pixels d'un écran, ie origine en haut à gauche :
- ta case de départ est (x=1,y=1) (je compte de 1 à 4, façon algo, pas façon programme)
- la case suivante, c'est quelles coordonnées ? ben, visiblement (x-1, y-1), nan ?
Tu fais donc la soustraction, et tu vérifies si la coordonnée est à ajuster ou pas avant de remplir une case : si ça déborde d'un côté, on renvoie dans le tableau. Reste à voir quelle est la formule / méthode de recadrage de coordonnée.
Et comme tu connais le nombre de cases, tu peux utiliser une boucle "pour".
-
chaque case a des coordonnées x et y.
Si tu regardes les 7 lignes proposées par Flodelarab, tu constates que sur la 1ère ligne, on a x+y=0, puis x+y=1 sur la 2ème ligne, etc etc
Ce devrait donner une bonne base pour ton algorithme.