IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

C Discussion :

Labyrinthe hexagonal avec les graphes


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 4
    Points : 1
    Points
    1
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre averti Avatar de cmoibal
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Avril 2007
    Messages : 361
    Points : 414
    Points
    414
    Par défaut
    Pourquoi vous avez adopté cette structure pour représenter votre labyrinthe ?

    Personnellement, je pense que l'utilisation des abscisses et des ordonnées pour représenter un point est suffisante, tu pense pas ?

    Et après, et choisie les points qu'on passeras dessus !!!!!!

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 4
    Points : 1
    Points
    1
    Par défaut non c'est pas possible
    en faite c'est pas moi qui choisit c'est un travaille pratique en structure de donnée le prof nous a oblige a choisir cette structure.
    et il a dis comme indice il faut que vous compte tous dabord le nombre de noeud dans le fichier et apres ca envoye pour chaque noeud ces 6 variable lire dans le fichier pour savoir si il ya un mure ou nn

  4. #4
    Membre averti Avatar de cmoibal
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Avril 2007
    Messages : 361
    Points : 414
    Points
    414
    Par défaut
    Quel est votre système ?

  5. #5
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 382
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 382
    Points : 20 453
    Points
    20 453
    Par défaut
    Citation Envoyé par haabani Mohamed Voir le message
    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
    Pour le chargement je ne comprends pas le problème : est-ce une génération aléatoire ? Sinon un simple fscanf suffit d'un fichier texte..
    Pour la recherche de la solution c'est un cas classique de recherche avec arbre de partition binaire, regarde dans le forum algorithmes.
    Basiquement pour chaque noeud il faut regarder si on peut se déplacer à droite ou gauche

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 4
    Points : 1
    Points
    1
    Par défaut aa
    j'ai la structure suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    typedef struct
    {
    int h;
    int b;
    int h_g;
    int h_d;
    int b_d;
    int b_g;
    }Noued;
     
    typedef struct 
    {
      nb_noeud;
      Noeud *tab;
    }graphe;
    te la il faut parcourir le fichier pour lire la labyrinthe et charge la structure
    pour chaque noeud qui est compose de 6 cote comme decrit dans la structure
    le problem c'est commenet savoir que par exemple "/" ou "_" apartient a tel noeud et a tel coté;
    exemple et il doit savoir quii il aprtient a tel noeud et a tel direction pour remplire la structure et mettre 0 ou 1 la dans pour apres savoir si il ya un mure ou nn!!!!

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 4
    Points : 1
    Points
    1
    Par défaut 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)

Discussions similaires

  1. code source avec les graphes en C
    Par bouzidimehdi dans le forum C
    Réponses: 2
    Dernier message: 05/01/2010, 20h38
  2. Gestion d'un championnat avec les graphes.
    Par barette54 dans le forum Langage
    Réponses: 1
    Dernier message: 16/05/2008, 16h35
  3. Créer un tableau avec les graphes
    Par romero2008 dans le forum Pascal
    Réponses: 6
    Dernier message: 25/04/2008, 22h30
  4. Problème avec les graphes en VB
    Par csmaf2002 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 02/03/2008, 22h44
  5. Problème avec les graphes
    Par Sly666 dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 08/12/2006, 18h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo