回答編集履歴
1
修正
answer
CHANGED
@@ -5,15 +5,15 @@
|
|
5
5
|
|
6
6
|
char disk[3][10];
|
7
7
|
|
8
|
-
void Hanoi(int n,
|
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 =
|
14
|
+
tmp = X[strlen(X)-1];
|
15
|
-
|
15
|
+
X[strlen(X)-1] = '\0';
|
16
|
-
|
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
|
```
|