Bonsoir a tous.
J'ai un soucis dans mon code qui permet de calculer et d'afficher les differents mouvement fonction du nombre de disque.
On m'impose d'utiliser un model pour la creation a savoir :
Mon probleme se situe au niveau du "otherPeg", je ne comprend pas comment l'ecrire et malgrés moulte tentative la compilation foire a ce niveau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 procedure TOH ( numDiscs, fromPeg, toPeg ) { if ( numDiscs is 1 ) then output fromPeg, -> toPeg /*output = print console */ else { otherPeg = theOtherPeg(fromPeg, toPeg) /*Mon probleme*/ TOH(numDiscs - 1, fromPeg, otherPeg) outpout Frompeg, -> ,toPeg TOH(numDisc -1, otherPeg, toPeg) } }
Voici mon code :
Alors vous pourriez me dire : "Mais andouille ! Declare le directement au debut". Et vous auriez raison j'ai tester ca fonctionne... mais je doit resepcter le schema directeur...
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
27
28
29
30
31 #include "stdio.h" #include "stdlib.h" void tours(int n,char depart,char arrivee) { if(n==1) printf("\nJe bouge le disque 1 du plot %c au plot %c",depart,arrivee); else { char tempo; tours(n-1,depart,tempo); printf("\nJe bouge le disque %d du plot %c au plot %c",n,depart,tempo); tours(n-1,tempo,arrivee); return; } } main() { int n; setvbuf(stdout, NULL, _IONBF, 0); printf("Combien de disque ? : "); scanf("%d",&n); printf("Voici le resultat :\n\n"); tours(n,'A','C','B'); return 0; }
Partager