Difficile à expliquer ... [Résolu]

Messages postés
25
Date d'inscription
mercredi 26 décembre 2007
Statut
Membre
Dernière intervention
2 juin 2011
- - Dernière réponse : KungFuChaos
Messages postés
25
Date d'inscription
mercredi 26 décembre 2007
Statut
Membre
Dernière intervention
2 juin 2011
- 5 mai 2009 à 15:43
Bonjour à tous.

Comme toujours, je suis un habitué du post au mauvais endroit, donc si c'est le cas, désolé.

Voilà mon problème :
Dans excel, je suis sur une case (C3 par exemple), et je souhaite aller en A2 (par exemple). Pour cela, je ne dois passer que sur des cases où il y a un "1" (par exemple, si dans B2 il y a un "1", je peux aller en B2 pour aller en A2, alors que si en B3, il y a un "0", je ne peux pas passer sur cette case). Ce problème peut s'étendre à plusieurs cases à "traverser" (genre de C3 vers I8), et peut prendre des trajectoire bizarre si il n'y pas d'autres solutions (genre de C3 vers A2, faire D3 D4 E5 E6 D7 C7 B7 A7 A6 A5 A4 A3 A2). La trajectoire doit être la plus courte possible, et ne doit pas dépacer un certain nombre de déplacements.

J'espère avoir été clair. En gros, je cherche à reconstituer un gars qui marche sur un damier, et qui peut pas marcher sur l'eau, et donc doit marcher sur la terre ^^.

Merci d'avance

Cordialement
Afficher la suite 

14 réponses

Meilleure réponse
Messages postés
25
Date d'inscription
mercredi 26 décembre 2007
Statut
Membre
Dernière intervention
2 juin 2011
3
Merci
Comme tu peux le voir, je suis pas un habitué du fofo, donc merci de pas gueuler comme un putois rose des îles du pacifique. Le principe d'un forum s'est d'aide, pas d'enterrer, donc retourne si c'est pour dire ça, tu balance uniquement le bon endroit, et tu supprimes le sujet.

Sur ce, je te laisse d'exciter sur ton clavier, et je retourne chercher de l'aide vers des VRAIS membres.

Pour cela, j'ai double posté (sur les conseils du gars d'au dessus) vers un autre endroit (que j'ai cherché moi même vu qu'il ne sert à rien d'autre qu'à pousser des petits cris d'un nourrisson).

Merci

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 122 internautes nous ont dit merci ce mois-ci

Commenter la réponse de KungFuChaos
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
3
0
Merci
Perds donc tes habitudes (elles gênent vraiment !!!!) et cherche VBA
parmi les thèmes, nom de nom !!!


Si tu ne sais pas faire ce geste élémentaire, comment peux-tu envisager les gestes (bien plus complexes) du développement ????

Et ton titre .... pas mal, hein ... voilà qui va pouvoir aider d'autres forumeurs confrontés au même problème .... !!!

Tiens donc : fais une recherche sur ce forum avec "Diificile à expliquer" !!! ... Tu y trouveras peut-être une discussion ouverte avec ce sujet et qui t'apportera ta solution !!!!
Tu es sur un forum technique, ami, pas dans une cour de récration de l'école primaire. Merci de bien vouloir y faire attention !
Voilà : je n'ai pu m'en empêcher .... Et, bien évidemment, je ne t'aiderai pas dans de telles circonstances (dit et redit mille et une fois, maintenant... trop, c'est trop ...).
Bonne chance quand même !
Commenter la réponse de jmf0
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
3
0
Merci
Bien...


Tu viens donc ainsi de fermer la porte à une réponse de ma part (et c'est dommage pour toi) dans ton autre sujet, pourtant enfin affublé d'un titre explicite et dans le bon thème....
Bonne chance.
Commenter la réponse de jmf0
Messages postés
25
Date d'inscription
mercredi 26 décembre 2007
Statut
Membre
Dernière intervention
2 juin 2011
0
Merci
Au fait, tu vas pouvoir m'expliquer ce que ma prof d'info n'a jamais réussi a m'expliquer : la différence entre VB et VBA ???
Commenter la réponse de KungFuChaos
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
3
0
Merci
Pour celà également : recherche sur ce forum.... et découvre ce qu'est VB est ce qu'est Visual Basic For Application (le second est dépendant de l'application qui l'utilise...et ne peut tourner sans elle. Le premier ignore tout d'aurtres applications et ne peut, au besoin, que se contenter de les "piloter"). Désolé pour ta "prof"
Commenter la réponse de jmf0
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
3
0
Merci
Et VB ignore par exemple ce que pourrait bien  être une "case (C3 par exemple), et je souhaite aller en A2 (par exemple)", à moins que l'on ne se serve de lui pour piloter Excel.(et lorsqu'on le fait, on ne peut le faire qu'en utilisant des instructions propres à Excel)  ...


Ta question relève donc de VBA/Excel (lequel n'utilise de manière générale qu'une partie des "aptitudes" de VB6 + des instructions relatives à Excel mais qu'ignore VB6)
Commenter la réponse de jmf0
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
3
0
Merci
Bon ...
juste un peu de générosité avant d'aller au dodo (enfin.... générosité ? je ne sais pas... car la chose est sans aucun doute plus complexe que la recherche d'une section adéquate ou que la détermination des différences entre VB6 et VBA ...)

Un seul mot (un indice) : Dijkstra

Bon courage, donc, mais sans moi (je ne suis, ne l'as-tu pas dit, qu'un "nourrisson", hein... alors... à toi de jouer, ami, à toi...).
Commenter la réponse de jmf0
Messages postés
25
Date d'inscription
mercredi 26 décembre 2007
Statut
Membre
Dernière intervention
2 juin 2011
0
Merci
Merci, ça m'aide énormément ^^

Au moins, j'ai découvert un nouvel algorithme où je ne comprend même pas le but ^^

Pour info, je ne suis même pas un nourisson en VB ou en VBA !! Je ne sais manier que les bases les plus infimes. Donc je prend le terme "nourisson" comme un compliment ^^
Commenter la réponse de KungFuChaos
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
3
0
Merci
Si tu n'en comprends pas le but, laisse alors tomber !
Il ne te reste alors plus qu'à faire ramer triplement ta machine avec des boucles dans tous les sens, à rechercher, chemin par chemin, tous les chemins possibles (et allant jusqu'au bout).
Voilà toute la différence !
Commenter la réponse de jmf0
Messages postés
25
Date d'inscription
mercredi 26 décembre 2007
Statut
Membre
Dernière intervention
2 juin 2011
0
Merci
Si, le but, je le comprend, mais ça s'arrete là. Je suis loin d'être un spécialiste de tout ça.

Enfin bref, merci quand même pour ton indice ^^

A bientot peut être si je poste correctement ^^
Commenter la réponse de KungFuChaos
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
3
0
Merci
Il va falloir que tu utilises un peu tes neurones, si tu veux parvenir à tes fins... (c'est aussi et surtout celà, se frotter au développement).
Tu n'es tout de même, je veux le penser, pas venu ici juyste pour avoir une solution toute cuite (mécanisme de pensée + mise en oeuvre de la syntaxe en résultant) et pr^te à être dégustée par copier/coller (si tel n'est pas le cas : tu t'es trompé de forum).
Je veux bien t'aider à commencer à penser :
Etape 1 : "nettoyer" en supprimant tout les 1 qui n'en sont pas de vrais (qui ne conduisent donc à rien). Si tu ne vois même pas ce dont je parle, alors, vraiment : laisse tomber pour de bon...
Si tu "vois" : ok et fais-le de manière récursive.
On n'abordera qu'ensuite l'étape 2, qui "fera un autre ménage" en vue d'arriver à la détermination d'un polygone connexe épuré auquel on pourra alors penser à appliquer l'algo de Dijkstra

Voilà !
si tu passes l'étape 1, je veux bien continuer à t'aider. Dans le cas contraire : certainement pas (car le reste est beaucoup plus complexe que cette 1ère étape relativement élémentaire) !!!!
Commenter la réponse de jmf0
Messages postés
25
Date d'inscription
mercredi 26 décembre 2007
Statut
Membre
Dernière intervention
2 juin 2011
0
Merci
Pour les 1, je pense avoir "vu", mais ils servent tous (je pense). En gros, j'ai une carte (40x40), où il y a soit 0 soit 1 dans toutes les cellules. Comme on peut potentiellement passer sur tous les 1, ils sont tous potentiellement utilisable.

Sinon, je peux en éliminer certains (qui sont inaxessible par exemple), mais je sais pas si cela peut servire à qqch.

Et sinon, en gros, je cherche une solution sous forme programme, mais surtout, que j'arrive à la comprendre pour pouvoir recréer moi même la même chose si j'en ai besoin plus tard. Ce n'est pas avec mes 3 cours d'une heure d'informatique que je risque d'être un virtuose de la programmation... 
Commenter la réponse de KungFuChaos
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
3
0
Merci
Je pense avoir dit ce que j'avais à dire (relis-moi)
Et nous ne pourrons aller plus loin que lorsque ces conditions seront réunies et que nous pourrons dresser un tableau des "coordonnées" dun "polygone" connexe épuré.
Quant à :
"Sinon, je peux en éliminer certains (qui sont inaxessible par exemple), mais je sais pas si cela peut servire à qqch."...
Cela montre que tu n'as pas commencé à réfléchir... sur ce que pourrait bien être un polygone connexe épuré...*Tu dis par ailleurs que toutes tes cases contenant 1 sont utilisables et utiles... C'est à voir ...... et de très près.... et contredit quelque peu ce que tu as dit lors de l'un de tes messages (lequel et comment ? ... réfléchis...)
Ton problème est double : il est celui d'un labyrinthe à chemins  multiples (dont certains peuvent ne conduire à rien), à trouver (le polycone connexe) ,  doublé de la détermination du chemin le plus court (et c'est là que commencera à intervenir l'algorithme de Dijkstra.
Mais je commence à avoir l'impression de plus en plus nette que tu devrais entamer ton apprentissage du développement par des exercices plus simples et à ta portée.
Commenter la réponse de jmf0
Messages postés
25
Date d'inscription
mercredi 26 décembre 2007
Statut
Membre
Dernière intervention
2 juin 2011
0
Merci
Le problème étant surtout que je fais pour le plaisir, que j'essaye de réaliser un petit jeu simpatoche pour voir si j'en suis capable et pour me détendre, et que je n'avais pas vu ce problème lorsque j'ai commencé mon petit jeu. L'intérêt des "exercices" est donc pour moi plus que limité, surtout en période de stage.

Sinon, si je ne trouve pas de solution, j'ai celle de couper une jambe à mon bonhomme pour qu'il ne se déplace que d'une case en une case.

Enfin, tout ce que je souhaite, c'est résoudre mon problème, comprendre la solution, et surtout pouvoir continuer et terminer mon jeu, c'est tout. Il y aura un remerciement pour celui ou celle qui m'aura aidé pour cette partie ^^
Commenter la réponse de KungFuChaos