Gros problème avec recursivité dans les cubes de couleurs

Messages postés
74
Date d'inscription
dimanche 3 mars 2002
Statut
Membre
Dernière intervention
17 septembre 2006
- - Dernière réponse : skinia
Messages postés
74
Date d'inscription
dimanche 3 mars 2002
Statut
Membre
Dernière intervention
17 septembre 2006
- 28 déc. 2005 à 14:35
Bonjour,
voici l'énoncé du problème:
on possède 4 cubes et sur les chaques faces du cube, il y a des couleurs (en tout il y a 4 couleurs différentes).
Ce qu'il faut, c'est avoir lorque les 4 cubes sont côtes à côtes, 4 couleurs différentes en haut, en bas, devant et derriere.
Bon
en gros mon algo serait censé voir toutes les combinaisons en
effectuant des rotations sur les cubes de façon recursive mais ca ne
marche pas pourtant les cubes je les ai chez moi et j'y arrive
manuellement:
sachant qu'il y a 12 rotations possibles.

void recursif(int no_cube)
{
NB++;
if(no_cube==NB_CUBES || fini())
{
cout<< "on retourne" <<endl;
}

else
{
Cube cube=rec.getCube(no_cube);
for(int i=0;i<12;i++)
{
cube.rotation(i);
recursif(no_cube+1);
cube.antiRotation(i);
}
}
}

voila j'espere que qq pourra m'aider parceque c'est pas logique, ca devrait marcher
Afficher la suite 

2 réponses

Messages postés
14658
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
15 novembre 2019
90
0
Merci
Je n'ai pas très bien compris le problème mais je ferais 2 remarques:
- je ne vois pas l'intérêt de la récursivité dans ce cas,
- généralement, la récursivité fonctionne "dans l'autre sens": pour faire une opération au niveau n, je dois savoir ce qui se passe au niveau n-1

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Commenter la réponse de BunoCS
Messages postés
74
Date d'inscription
dimanche 3 mars 2002
Statut
Membre
Dernière intervention
17 septembre 2006
0
Merci
ah bon?
pour faire de la recursivité il faut seulement des cas à contrôler sous forme d'arbre et une contrainte pour arrêter la recursivité, mais sinon dans ce cas la recursivité devrait marcher.
J'ai essayé de manière itérative, mais je n'ai pas trouvé la solution.
merci quand même de tes remarques
Commenter la réponse de skinia