質問するログイン新規登録

回答編集履歴

1

修正

2019/10/03 11:53

投稿

episteme
episteme

スコア16612

answer CHANGED
@@ -5,15 +5,15 @@
5
5
 
6
6
  char disk[3][10];
7
7
 
8
- void Hanoi(int n,int X, int Y, int Z) {
8
+ void Hanoi(int n,char* X, char* Y, char* Z) {
9
9
  char tmp;
10
10
  if(n>=2)
11
11
  Hanoi(n-1,X,Z,Y);
12
12
 
13
13
  /* Xの円盤をZに移動する */
14
- tmp = disk[X][strlen(disk[X])-1];
14
+ tmp = X[strlen(X)-1];
15
- disk[X][strlen(disk[X])-1] = '\0';
15
+ X[strlen(X)-1] = '\0';
16
- disk[Z][strlen(disk[Z])] = tmp;
16
+ Z[strlen(Z)] = tmp;
17
17
  printf("//A:%s\n//B:%s\n//C:%s\n//----------\n", disk[0], disk[1], disk[2]);
18
18
 
19
19
  if(n>=2)
@@ -24,7 +24,7 @@
24
24
  strcpy(disk[0],"321");
25
25
  strcpy(disk[1],"");
26
26
  strcpy(disk[2],"");
27
- Hanoi(3,0,1,2);
27
+ Hanoi(3,disk[0],disk[1],disk[2]);
28
28
  return 0;
29
29
  }
30
30
  ```