begin process at 2012 05 30 11:21:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Maths

 > 

recherche chemin labyrinthe


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

recherche chemin labyrinthe

dimanche 3 mai 2009 à 17:48:25 | recherche chemin labyrinthe

amenienis

bonjour,je sui débutante en C
svp!! si qqun pourra m'aider sur ce sujet
g un labyrinthe défini a partir d'un fichier texte avec des 1 pour les murs et 0 sinon
je veux bien chercher un chemin entre deux cases mé jarrive pas à trouver une solution
Merci de me présenter un algo si c possible
Crdt
lundi 4 mai 2009 à 02:00:54 | Re : recherche chemin labyrinthe

CptPingu

Administrateur CodeS-SourceS
Renseigne toi sur un algo de backtracking. La récursivité devrait aussi résoudre le problème très rapidement. Plus bourrin, tu peux aussi regarder des algos tel que Manhattan, Astar, ou Dijkstra.
lundi 4 mai 2009 à 10:47:55 | Re : recherche chemin labyrinthe

Pistol_Pete

Salut
>>Cptpingus : Je ne suis pas d'accord avec toi quand tu dis "plus bourrin". Pour Dijkstra c'est vrai mais pas pour l'Astar. Un algo Astar bien codé est très loin de visiter toute la carte. Pour moi c'est le meilleur moyen pour résoudre ce problème.
A+

____________________________________________________________________________
Mon site internet :
  
[ Lien ]

lundi 4 mai 2009 à 20:28:13 | Re : recherche chemin labyrinthe

CptPingu

Administrateur CodeS-SourceS
Je dit plus bourrin au niveau de la difficulté d'implémentation. Il est plus simple de faire un truc en récursif qui visite tout, qu'un des algos précités.
mardi 5 mai 2009 à 08:28:36 | Re : recherche chemin labyrinthe

Pistol_Pete

Dans ce sens, alors là ok.
A+

____________________________________________________________________________
Mon site internet :
  
[ Lien ]

jeudi 7 mai 2009 à 07:26:40 | Re : recherche chemin labyrinthe

amenienis

Salut;
jarrive pa à comprendre ces algorithmes, jsuis encore débutante!!
Svp si qqun peut me donner un algo plus simple(ni pile ni listes chainèes) qui traite ce problème de recherche en C.
Merci bien d'avance
Cdlt
jeudi 7 mai 2009 à 08:30:20 | Re : recherche chemin labyrinthe

CptPingu

Administrateur CodeS-SourceS
Fais le en récursif alors.

Exemple théorique:
Récupère tout les 1 et les 0, et tu les mets dans une matrice.

fonction est_valide(Matrice m, Entier x, Entier y) : qui renvoie un boolean
début
  // On vérifie si la coordonnés définit par x et y est valide
  // Vérifions que ça ne soit pas hors borne
  Si x >= largeur Ou x < 0 Ou y >= hauteur Ou y < 0 alors
    retourner faux;

  retourner Matrice[x][y] == 1;
// Si tu es débutante, cette ligne veut dire, retourner vrai si c'est égale à 1, faux sinon.
fin

fonction recherche(Matrice m, Entier x, Entier y) : qui renvoie un tableau de coordonnés
début
  variable locale:
    Tableau de coordonnés : tab = [(x,y)]
  // Regarder si les coordonnées d'à côté sont valides
  Si est_valide(Matrice, x - 1, y) alors
     tab = tab + recherche(Matrice, x - 1, y);
  Sinon Si est_valide(Matrice, x, y - 1) alors
     tab = tab + recherche(Matrice, x, y - 1);
  ... // Ici tu le fait pour les 8 directions.

  retourner tab;
fin

fonction Main()
début
  variable locale:
     Matrice d'entier: m;
     Tableau de coordonnés : tab = [] (vide);
     m = récuperer tout ce qu'il y a dans le fichier et le mettre dans la matrice.
   // Ici je suppose que tu commence tout en haut à gauche, et que la case est libre.
    tab = rechercher(m, 0, 0);
   Afficher (tab);
fin

Attention, ce n'est pas du C, c'est vraiment une méthode théorique pour te présenter la manière de faire, à toi ensuite de coder cela, si tu as compris la méthode.

jeudi 7 mai 2009 à 08:32:42 | Re : recherche chemin labyrinthe

CptPingu

Administrateur CodeS-SourceS
Il manque quelque chose dans mon algo... La coordonnée d'arrêt !
Il faut bien entendu s'ârrêter quand on arrive à la bonne destination, ou si la destination n'est pas atteignable (mais c'est un poil plus dur, considère que la cible est toujours atteignable et existante, dans un premier temps).
jeudi 7 mai 2009 à 13:11:01 | Re : recherche chemin labyrinthe

amenienis

Merci de m'avoir rèpondu!!

j'ai dèja une matrice qui récupère les 1 et les 0!!!!!
mais comme même je vais l'essayer




Cette discussion est classée dans : recherche, chemin, labyrinthe


Répondre à ce message

Sujets en rapport avec ce message

pb avec un labyrinthe [ par skinia ] je suis sur un projet de labyrinthe et j'ai bloqué pour l' algorithme du plus court chemin (entre un pt qq du labyrinthe et la cible au milieu).le lab Chemin le plus court A* [ par esiee_amiens ] Bonjour, j'aimerais que l'on m'aide à implanter l'algo A* pour un labyrinthe.Le labyrinthe ressemble à ça : 111111111111111 101010101000001 1010101010 Implémenter en C/C++ un programme qui recherche le plus court chemin d'un graphe [ par asrml ] Bonjour tout le monde, Je voudrais demander vos aides s'il vous plait: Le but du devoir c'est la recherche du plus court chemin dans un graphe non ori Recherche d'un chemin dans un graphe Eulerien [ par prog_amateur ] salut,voici mon probléme :je veux implémenter l'algorithme d'Euler pour tester si un graphe est eulerien mais je n'est pas abouti a un resultat effic Avis de recherche: d3dx9.a [ par THEwarrior333 ] Salut a tous!voila je developpe sous dev-cpp avec DirectX SDK 9 et j'ai des pb de linker: il me manque libd3dx9.aJ'ai tenté maintes fois d'utiliser re Fonction pour chemin nom fichier [ par bouba ] Bonjour, quelqu'un sait-il si il existe une fonction qui permettrait de dupliquer les barres obliques d'un nom de chemin vers un fichier.par exemple e recherche lib de math [ par ben92600 ] je recherche une lib de math pouvant resoudre des equations de degree n ou minimum du 4eme degre chemin le plus cour [ par margulis ] bonsoir j'ai un devoir en C (pas C++) sur les plus cour chemin entre plusieur lieux mais ceux ci doivent etre ponderé par des heures (aeroport horaire Recherche librairie jpeg [ par turnerom ] Bonjour a tous.Ma question est dans le titre du message.Je cherche une librairie C++ pouvant décompresser une image jpeg deja en mémoire. Pour cela, j Trouver le chemin courant de l'executable [ par donslim ] Bonjour à tousJe travail actuellement en MFC,et j'aimerais récupérer le chemin courant d'ou se situe mon éxécutable,pour pouvoir utiliser la fonction


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,905 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales