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 :

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)
}
}
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.

Voici mon code :

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;
	}
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...