回答編集履歴
2
VERSION 1.2
test
CHANGED
@@ -14,15 +14,22 @@
|
|
14
14
|
方法2
|
15
15
|
|
16
16
|
```Text_feat._ChatGPT
|
17
|
+
(意訳, 抜粋)
|
18
|
+
|
19
|
+
ChatGPT:
|
17
20
|
ご提示のコードにおいて、while文の終了後にxの値が初期化されていないことが、バグの原因です。
|
18
21
|
while文を抜けたら、x = 0としましょう。
|
19
|
-
|
20
22
|
for(i = 0; s[i] != '\0'; ++i) {while(x <= n){buf[j++] = s[i]; x = x + 1;}}
|
21
23
|
を
|
22
24
|
for(i = 0; s[i] != '\0'; ++i) {while(x <= n){buf[j++] = s[i]; x = x + 1;}x=0;}
|
23
25
|
に変更する。
|
26
|
+
|
27
|
+
TheCubWorld: しかし、それでは、各文字がn+1回繰り返されます。
|
28
|
+
|
29
|
+
ChatGPT: ご指摘の通りです。while(x <= n)をwhile(x < n)とすると、このバグは修正できます。
|
30
|
+
|
24
31
|
```
|
25
32
|
|
26
33
|
```C
|
27
|
-
for(i = 0; s[i] != '\0'; ++i) {while(x <
|
34
|
+
for(i = 0; s[i] != '\0'; ++i) {while(x < n){buf[j++] = s[i]; x = x + 1;}x=0;}
|
28
35
|
```
|
1
VERSION 1.1
test
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
+
方法1
|
1
|
-
```
|
2
|
+
```Instructions
|
2
3
|
S := 与えられた文字列
|
3
4
|
N := Sの長さ
|
4
5
|
M := 繰り返し回数
|
@@ -7,3 +8,21 @@
|
|
7
8
|
```C
|
8
9
|
for (i=0; i<N*M, i++) printf("%c", S[i/M]);
|
9
10
|
```
|
11
|
+
|
12
|
+
---
|
13
|
+
|
14
|
+
方法2
|
15
|
+
|
16
|
+
```Text_feat._ChatGPT
|
17
|
+
ご提示のコードにおいて、while文の終了後にxの値が初期化されていないことが、バグの原因です。
|
18
|
+
while文を抜けたら、x = 0としましょう。
|
19
|
+
|
20
|
+
for(i = 0; s[i] != '\0'; ++i) {while(x <= n){buf[j++] = s[i]; x = x + 1;}}
|
21
|
+
を
|
22
|
+
for(i = 0; s[i] != '\0'; ++i) {while(x <= n){buf[j++] = s[i]; x = x + 1;}x=0;}
|
23
|
+
に変更する。
|
24
|
+
```
|
25
|
+
|
26
|
+
```C
|
27
|
+
for(i = 0; s[i] != '\0'; ++i) {while(x <= n){buf[j++] = s[i]; x = x + 1;}x=0;}
|
28
|
+
```
|