回答編集履歴
2
抜かした while 行を戻した
test
CHANGED
@@ -126,6 +126,8 @@
|
|
126
126
|
|
127
127
|
```C
|
128
128
|
|
129
|
+
while (fgets(line, LINESIZE, fp) != NULL) {
|
130
|
+
|
129
131
|
sscanf(line, "%c %c %d:%d", &b, &io, &h, &m);
|
130
132
|
|
131
133
|
int n = 「bが 'A'なら0, 'B'なら1, … にする」 ;
|
@@ -140,6 +142,8 @@
|
|
140
142
|
|
141
143
|
}
|
142
144
|
|
145
|
+
}
|
146
|
+
|
143
147
|
```
|
144
148
|
|
145
149
|
配列を使えば、行数を減らすことができ、見通しが良くなったと思いませんか。ボート毎の変数を**添え字変数 n で特定できる**(`` tm[n] ``)からです。
|
1
=> を矢印(→)に書換え
test
CHANGED
@@ -192,7 +192,7 @@
|
|
192
192
|
|
193
193
|
こういうことかもしれません。例えば、boat2num() という変換関数を作っておき、
|
194
194
|
|
195
|
-
```
|
195
|
+
```C
|
196
196
|
|
197
197
|
int boat2num(char b)
|
198
198
|
|
@@ -246,11 +246,11 @@
|
|
246
246
|
|
247
247
|
|
248
248
|
|
249
|
-
- b == 'A' なら 'A' - 'A'
|
249
|
+
- b == 'A' なら 'A' - 'A' → 0 (即ち n = 0; と同じ)
|
250
|
-
|
250
|
+
|
251
|
-
- b == 'B' なら 'B' - 'A'
|
251
|
+
- b == 'B' なら 'B' - 'A' → 1 (即ち n = 1; と同じ)
|
252
|
-
|
252
|
+
|
253
|
-
- b == 'C' なら 'C' - 'A'
|
253
|
+
- b == 'C' なら 'C' - 'A' → 2 (即ち n = 2; と同じ)
|
254
254
|
|
255
255
|
|
256
256
|
|