Bonjour,
Je dois actuellement faire un programme qui s'occupe de résoudre les tours de hanoï et pour se faire, j'ai commencé par écrire ce code :
Mais pour la seconde partie du projet, je dois changer ce qui se trouve dans ma fonction deplacer pour y mettre un tableau deux dimensions...
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
16
17
18
19
20
21
22
23
24
25
26 #include <stdio.h> #include <stdlib.h> int hanoi (int,int,int,int); void deplacer (int n, int depart, int arrive); int main() { int n = 3; int depart = 1 , inter = 2 , arrive = 3; hanoi(n, depart, inter, arrive); return EXIT_SUCCESS; } int hanoi (int n, int depart, int inter, int arrive) { if (n>0) { hanoi(n-1, depart, arrive, inter); deplacer(n, depart, arrive); hanoi(n-1, inter, depart, arrive); } } void deplacer (int n, int depart, int arrive) { printf("deplacement de l'anneau numero %d de la tour %d a la tour %d\n", n, depart, arrive); }
Pour que le programme m'affiche au final :
//position de base :
1 0 0
2 0 0
3 0 0
//le premier coup:
0 0 0
2 0 0
3 0 1
// le deuxième coup:
0 0 0
0 0 0
3 2 1
//et ainsi de suite jusque la résolution complète du problèmes.
Seulement, après avoir chercher une solution pendant quelques jours, je ne trouve pas comment faire, alors, si vous avez, une méthode ou une idée, je suis tout ouïe.
Merci d'avance.
Partager