Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Carré et diagonales


Sujet :

Algorithmes et structures de données

  1. #1
    Membre régulier
    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.


  2. #2
    Expert éminent sénior
    Bonjour

    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.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  3. #3
    Membre régulier
    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é.

  4. #4
    Membre régulier
    Bon, pas retrouvé cette discussion, retour à la case départ.

  5. #5
    Expert éminent sénior
    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.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  6. #6
    Membre régulier
    J'ai dû me tromper de forum. Merci pour l'accueil.

  7. #7
    Membre éprouvé
    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".
    poke 1024,0; poke 214,214

  8. #8
    Rédacteur/Modérateur

    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.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.