質問編集履歴
2
初心者マークのつけ方がわかったので付けました。
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|
1
少し内容をいじったのですが、いじる前のプログラムを誤って添付していました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -114,7 +114,7 @@
|
|
114
114
|
|
115
115
|
int young(char *str,int x,int min,int k){
|
116
116
|
|
117
|
-
|
117
|
+
/*x+1番目の文字とmin+1番目の文字を比較 若い方の位置を返す kは最初の文字からどれだけ離れたかの記憶*/
|
118
118
|
|
119
119
|
if(str[x]>str[min]){ /*minの方が若い*/
|
120
120
|
|
@@ -128,9 +128,11 @@
|
|
128
128
|
|
129
129
|
if(str[min+1]<'A' || (str[min+1]>'Z' && str[min+1]<'a') || str[min+1]>'z'){
|
130
130
|
|
131
|
-
/*minの方が単語が短いからreturn min-k*/
|
131
|
+
/*minの方が単語が短いからreturn min-k*/
|
132
|
+
|
132
|
-
|
133
|
+
printf("return min-k(%d)\n",min-k);
|
134
|
+
|
133
|
-
return min-k;
|
135
|
+
return min-k;
|
134
136
|
|
135
137
|
}
|
136
138
|
|
@@ -138,6 +140,8 @@
|
|
138
140
|
|
139
141
|
/*xの方が単語が短いからreturn x-k*/
|
140
142
|
|
143
|
+
printf("return x-k(%d)\n",x-k);
|
144
|
+
|
141
145
|
return x-k;
|
142
146
|
|
143
147
|
}
|
@@ -174,15 +178,13 @@
|
|
174
178
|
|
175
179
|
if(str[x[i]]<'A' || (str[x[i]]>'Z' && str[x[i]]<'a') || str[x[i]]>'z') continue;
|
176
180
|
|
177
|
-
printf("min=%d\n",min);
|
181
|
+
printf("%d回目 youngに入れる前 min=%d\n",i+1,min);
|
178
182
|
|
179
183
|
min=young(str,x[i],min,0); /*x[i]+1文字目からの単語とそれまでで一番若い単語の比較*/
|
180
184
|
|
181
|
-
printf("min=%d\n",i,min);
|
185
|
+
printf("%d回目 youngに入れた後 min=%d\n\n",i+1,min);
|
182
|
-
|
186
|
+
|
183
|
-
}
|
187
|
+
}
|
184
|
-
|
185
|
-
|
186
188
|
|
187
189
|
|
188
190
|
|