begin process at 2012 02 11 02:26:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

pb avec un labyrinthe


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

pb avec un labyrinthe

mardi 24 décembre 2002 à 00:01:55 | pb avec un labyrinthe

skinia

Membre Club
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 labyrinthe est une matrice carrée et voici comment est ennoncé le sujet:

Les cases sont numérotées de 0 à N=t²-1 ou t est la taille du labyrinthe(mat carrée).Pour mémoriser un chemin, on utilise un tableay C de N élémentsou C[i] désigne la case prédecesseur de i ds le plus court chemin. Par définition si une case i n'est pas dans le chemin on a C[i]=-1 et si une case est la première du chemin on a C[i]=i.
exemple->>labyrinthe a 16 cases

0 1 2 3
0 1 1
1 1 C
2
3

Les cases sont numérotées de 0 à 15. Et le tableay C qui code ce chemin est tel que C[6]=5; C[5]=1; C[1]=0; C[0]=0;
C[2]=C[3]=C[4]=C[7]=...=C[15]=-1;
l'agorithme est tel que:
Il s'agit d'explorer le laby en largeur,cet algo est tel que il utilise un structure de file.

1. pour toute case i,initialiser C[i] à -1 et le marquage à faux.
2. Initialiser C[a]=a et marquer a.
3. ajouter a à la file F (initialement vide).
4. Répéter
(a) récupérer la case k dans F et l'enlever de F.
(b) pour toute case l accessible depuis k et non marquée
i. marquer l
ii. ajouter l à la file
iii.mise à jour du chemin: C[l]=k.
5. tant que B n'est pas marquée et F n'est pas vide.

A la fin de l'algo le tableau C décrit le plus court chemin.En partant de la case b, on peut remonter le long du chemin jusqu'à rencontrer la case de départ a et ainsi compter le nbre de coups.Si à la fin de l'algo la case b n'est pas marquée c'est qu'il n'existe pas de plus court chemin.
La file F sera décrite par un objet de classe file.La file sera codée par un tableau d'entier (les cases) ainsi qu'un indice de début (tête) et un indice de fin(queue).
Une file est un ensemble géré selon le principe FIFO (premier entré premier sorti) .La classe file aura une méthode ajouer qui permet d'ajouter un élément en queue de file, une méthode enlever qui permet de récupérer l'elt en tête de la file et l'enlever de la file ainsi qu'une méthode estvide.


si qq connait cet algorithme ou si il arrive a trouver la solution
alors il est fort car moi j'ai rien pigé.
mardi 24 décembre 2002 à 12:49:53 | Re : pb avec un labyrinthe

GoldenEye





-------------------------------
Réponse au message : Cherche Djikstra sur google
-------------------------------

> 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 labyrinthe est une matrice carrée et voici comment est ennoncé le sujet:
>
> Les cases sont numérotées de 0 à N=t²-1 ou t est la taille du labyrinthe(mat carrée).Pour mémoriser un chemin, on utilise un tableay C de N élémentsou C[i] désigne la case prédecesseur de i ds le plus court chemin. Par définition si une case i n'est pas dans le chemin on a C[i]=-1 et si une case est la première du chemin on a C[i]=i.
> exemple->>labyrinthe a 16 cases
>
> 0 1 2 3
> 0 1 1
> 1 1 C
> 2
> 3
>
> Les cases sont numérotées de 0 à 15. Et le tableay C qui code ce chemin est tel que C[6]=5; C[5]=1; C[1]=0; C[0]=0;
> C[2]=C[3]=C[4]=C[7]=...=C[15]=-1;
> l'agorithme est tel que:
> Il s'agit d'explorer le laby en largeur,cet algo est tel que il utilise un structure de file.
>
> 1. pour toute case i,initialiser C[i] à -1 et le marquage à faux.
> 2. Initialiser C[a]=a et marquer a.
> 3. ajouter a à la file F (initialement vide).
> 4. Répéter
> (a) récupérer la case k dans F et l'enlever de F.
> (b) pour toute case l accessible depuis k et non marquée
> i. marquer l
> ii. ajouter l à la file
> iii.mise à jour du chemin: C[l]=k.
> 5. tant que B n'est pas marquée et F n'est pas vide.
>
> A la fin de l'algo le tableau C décrit le plus court chemin.En partant de la case b, on peut remonter le long du chemin jusqu'à rencontrer la case de départ a et ainsi compter le nbre de coups.Si à la fin de l'algo la case b n'est pas marquée c'est qu'il n'existe pas de plus court chemin.
> La file F sera décrite par un objet de classe file.La file sera codée par un tableau d'entier (les cases) ainsi qu'un indice de début (tête) et un indice de fin(queue).
> Une file est un ensemble géré selon le principe FIFO (premier entré premier sorti) .La classe file aura une méthode ajouer qui permet d'ajouter un élément en queue de file, une méthode enlever qui permet de récupérer l'elt en tête de la file et l'enlever de la file ainsi qu'une méthode estvide.
>
>
> si qq connait cet algorithme ou si il arrive a trouver la solution
> alors il est fort car moi j'ai rien pigé.
mardi 24 décembre 2002 à 18:31:55 | Re : pb avec un labyrinthe

skinia

Membre Club




-------------------------------
Réponse au message : désolé mais j'ai rien capté a Djikstra c'est peut etre un peu poussé pour mon niveau.
je veux juste le plus court chemin dans un labyrinthe.
ya bien un ptit algorithme qui traine qqpart?

-------------------------------

>
>
>
>
> -------------------------------
> Réponse au message : Cherche Djikstra sur google
> -------------------------------
>
> > 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 labyrinthe est une matrice carrée et voici comment est ennoncé le sujet:
> >
> > Les cases sont numérotées de 0 à N=t²-1 ou t est la taille du labyrinthe(mat carrée).Pour mémoriser un chemin, on utilise un tableay C de N élémentsou C[i] désigne la case prédecesseur de i ds le plus court chemin. Par définition si une case i n'est pas dans le chemin on a C[i]=-1 et si une case est la première du chemin on a C[i]=i.
> > exemple->>labyrinthe a 16 cases
> >
> > 0 1 2 3
> > 0 1 1
> > 1 1 C
> > 2
> > 3
> >
> > Les cases sont numérotées de 0 à 15. Et le tableay C qui code ce chemin est tel que C[6]=5; C[5]=1; C[1]=0; C[0]=0;
> > C[2]=C[3]=C[4]=C[7]=...=C[15]=-1;
> > l'agorithme est tel que:
> > Il s'agit d'explorer le laby en largeur,cet algo est tel que il utilise un structure de file.
> >
> > 1. pour toute case i,initialiser C[i] à -1 et le marquage à faux.
> > 2. Initialiser C[a]=a et marquer a.
> > 3. ajouter a à la file F (initialement vide).
> > 4. Répéter
> > (a) récupérer la case k dans F et l'enlever de F.
> > (b) pour toute case l accessible depuis k et non marquée
> > i. marquer l
> > ii. ajouter l à la file
> > iii.mise à jour du chemin: C[l]=k.
> > 5. tant que B n'est pas marquée et F n'est pas vide.
> >
> > A la fin de l'algo le tableau C décrit le plus court chemin.En partant de la case b, on peut remonter le long du chemin jusqu'à rencontrer la case de départ a et ainsi compter le nbre de coups.Si à la fin de l'algo la case b n'est pas marquée c'est qu'il n'existe pas de plus court chemin.
> > La file F sera décrite par un objet de classe file.La file sera codée par un tableau d'entier (les cases) ainsi qu'un indice de début (tête) et un indice de fin(queue).
> > Une file est un ensemble géré selon le principe FIFO (premier entré premier sorti) .La classe file aura une méthode ajouer qui permet d'ajouter un élément en queue de file, une méthode enlever qui permet de récupérer l'elt en tête de la file et l'enlever de la file ainsi qu'une méthode estvide.
> >
> >
> > si qq connait cet algorithme ou si il arrive a trouver la solution
> > alors il est fort car moi j'ai rien pigé.
>
vendredi 3 janvier 2003 à 19:57:17 | Re : pb avec un labyrinthe

arthroz


ca sent l'iupien =)



vendredi 19 décembre 2003 à 15:58:39 | Re : pb avec un labyrinthe

paupau


paupau

je cherche un programme en pascal sur un labyrinthe..
pauline.vdb@libertysurf.fr

tks... very much


Cette discussion est classée dans : file, case, chemin, labyrinthe, court


Répondre à ce message

Sujets en rapport avec ce message

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 Bellman ford: La valeur du chemin le plus court et le chemin même (=les points) [ par Perace ] Salut à tous!avez vous deja vu un algo en c qui ne se limite pas à donner la valeur du chemin le plus court mais vous donne les points?!quand on fini hook clavier [ par deck_bsd ] Yop,Bon dernière question de la journée :p enfin j'espère. Et la je sèche vraiment. En claire, je fait un keylogger, pour se faire un hook clavier s'i recherche chemin labyrinthe [ par amenienis ] bonjour,je sui débutante en C svp!! si qqun pourra m'aider sur ce sujetg un labyrinthe défini a partir d'un fichier texte avec des 1 pour les murs et choisir le chemin plus court [ par amine2khaan ] Bonjour, Quelqu'un peut me donner un programme ou juste un algorithme qui permet de trouver le chemin plus court entre une ville de depart et de dést 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 plus court chemin caml [ par bosque31 ] Bonjour, Je suis étudiant en math spé et je tente de coder une course poursuite sur un graphe pour mon tipe . Je possède des algos pour calculer la probleme de listage de fichiers [ par Kevin972 ] salut!! je ne comprends pas la fonction ne liste rien du tout.........al'aide!!!!!!!!!!!!!!!!! voici ma fonction:#include#include#include#include#in


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 6,505 sec (3)

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