Labyrinthe hexagonal avec les graphes
bonjour,j'ai un travail pratique avec les structures de données qui consiste à charger un labyrinthe dans la mémoire, trouver la solution et l'afficher ; le labyrinthe est sous la forme suivante:
_ _
/ \_/ \_/ \_
\_ \_ \ \
/ \_ \ \ /
\ \_ \_/ \
/ \ / \_/ \ /
\ / / _/ \
/ \_/ \ / _/
\ \_/ \_/ \
/ \_ \_ \ /
\_ \_ _ \
\_/ \_/ \_
et je dois toujours entrer en haut à gauche et sortir en bas à gauche
La structure est :
Code:
1 2 3 4 5 6
| typedef struct
{
int haut; int bas;int haut_gauche; int haut_droite; int bas_gauche; int bas_droite; } Noeud;
typedef struct
{ int nb_sommet;
Noeud * tab; //tableau pour tous les sommets; |
mon problème est comment charger le labyrinthe dans ma structure
et comment faire le traitement pour afficher ma solution qui doit être affichée après sur l'écran sous forme de petits points.
Merci à vous
c'est la suggestion de mon prof
Bonjour,
Avez-vous écouté le cours où j'en ai parlé beaucoup ? C'est le cours tout de suite après la remise du TP #1, ou bien le suivant, je ne me rappelle plus. Je crois que c'était vers la fin du cours. Peut-être que j'en ai parlé les deux cours aussi.
Le principal est de se faire une fonction qui permet d'associer un numéro de colonne et un numéro de rangée dans le fichier, à un numéro de case puis un "numéro de mur" (de 0 à 5, à savoir : haut, haut-gauche, haut-droite, bas, bas-gauche ou bas-droite (un enum, peut-être ?)).
Il faut avoir un booléen par possibilité de mur, et ce pour chaque case.
Le mieux est de faire une structure très très simple : un tableau statique de cases suffit ! Et chaque case n'a besoin que d'un tableau statique de 6 booléens ! (il y a même moyen de le faire avec juste 3)