回答編集履歴

3

追記0

2021/10/10 08:59

投稿

BeatStar
BeatStar

スコア4962

test CHANGED
@@ -218,4 +218,52 @@
218
218
 
219
219
 
220
220
 
221
+ で、(3.1)での"+---+" のやつは、どの行?でも同じ長さですね。完全固定。
222
+
223
+ なので、一度定義すれば単に描画すればいいだけです。
224
+
225
+
226
+
221
- (一時中断)
227
+ と考えると、
228
+
229
+
230
+
231
+ ```
232
+
233
+ [Flow]
234
+
235
+ 1. 列のそれぞれの最大行数を計算する
236
+
237
+ 2. ヘッダに相当する、"名前"等の部分を(1)を最大数としてセンタリングして表示
238
+
239
+ 3. (2)の長さ分、"+---+"のような文字列を生成
240
+
241
+ 4. 以下を『書くものが無くなるまで』繰り返す
242
+
243
+ 4.1. (3)で生成した文字列を表示
244
+
245
+ 4.2. (2)の要領で『左揃え』や『右揃え』で表示していく
246
+
247
+ 5. (3)で生成した文字列を表示
248
+
249
+ ```
250
+
251
+
252
+
253
+ のような感じになりますね。(順番が変わる可能性があるが)
254
+
255
+
256
+
257
+ [コメントにて]
258
+
259
+ > 1番の何を書くかを考えるについてですが、...
260
+
261
+
262
+
263
+ あ、それでもいいですよ。
264
+
265
+
266
+
267
+ とりあえず、一気に作るのではなく、少しづつ作っていってください。
268
+
269
+ 自分の考えが正しいかどうかもそれでわかります。

2

追記0

2021/10/10 08:59

投稿

BeatStar
BeatStar

スコア4962

test CHANGED
@@ -110,23 +110,23 @@
110
110
 
111
111
  ```
112
112
 
113
- |   名前   国語 | 数学
113
+ | 名前 |国語|数学|
114
-
114
+
115
- +----------------------------------+
115
+ +----------------------+
116
-
116
+
117
- |田中ゆうき    |  80| |
117
+ |田中ゆうき | 80| |
118
-
118
+
119
- +----------------------------------+
119
+ +----------------------+
120
-
120
+
121
- |佐藤かつひこ  |   | 50|
121
+ |佐藤かつひこ| | 50|
122
-
122
+
123
- +----------------------------------+
123
+ +----------------------+
124
-
124
+
125
- ```
125
+ ```
126
-
127
-
128
-
126
+
127
+
128
+
129
- の状態にするにはどうしますか?
129
+ の状態にするにはどうしますか? (なんかズレがあるようなのでこちらで適当に修正しています。違う所があるなら読みかえてください)
130
130
 
131
131
 
132
132
 
@@ -160,4 +160,62 @@
160
160
 
161
161
 
162
162
 
163
+ 何を書くか(= 1)は元のデータ "田中ゆうき,国語,80" とかの二番目から考える。
164
+
165
+
166
+
167
+ それぞれのセル云々(= 2) は『その列の最大行数から考える』。
168
+
169
+
170
+
171
+ 文字や数字はどのように並んでいるか(= 3, 4)は『項目名は中央揃え、名前は左揃え、点数は右寄せ』。
172
+
173
+
174
+
175
+ "+---+" の長さ(= 5) は『レコード(*1)の長さ分』。
176
+
177
+ *1: ここでいうレコードは、一行分のデータ列(ただし"|"等も含めている)
178
+
179
+
180
+
181
+ 6は2と一緒ですね。
182
+
183
+
184
+
185
+ 次に実際にノートかホワイトボードかなんかに上記の表を書いてみましょう。
186
+
187
+
188
+
189
+ ````
190
+
191
+ [Flow]:
192
+
193
+ 1. Excelでいう列のそれぞれの最大行数を求める
194
+
195
+ 2. (1)のそれぞれの長さを『最大値』として"名前"や"国語"等が中心に来るように書く
196
+
197
+ 3. 以下を『書くものが無くなるまで』繰り返す
198
+
199
+ 3.1. (2)で出来た行の最大の長さ分、"+---+" 的なものを書く
200
+
201
+ 3.2. (2)と同様に『名前を左揃え』、『数字を右揃え』で書く
202
+
203
+ 4. (3.1)と同様に線を引く
204
+
205
+ ````
206
+
207
+
208
+
209
+ みたいな流れになるはずです。(まあ、実際には(3.1)と(3.2)が逆になるかもしれないが )
210
+
211
+
212
+
213
+ 後はこれを実装すればいいだけです。
214
+
215
+
216
+
217
+ まだわかりにくい部分があれば、同じように流れを考える。
218
+
219
+
220
+
163
- (一中断)
221
+ (一中断)

1

追記0

2021/10/10 08:50

投稿

BeatStar
BeatStar

スコア4962

test CHANGED
@@ -144,6 +144,10 @@
144
144
 
145
145
  4. 数字(国語の点数等)はどのように並んでいるか(〃)
146
146
 
147
+ 5. 区切り線(?)の"+----+"のやつの長さはどうするか
148
+
149
+ 6. 区切り線(?)の"|"はどのように入れるか(位置とか)
150
+
147
151
  ```
148
152
 
149
153
 
@@ -153,3 +157,7 @@
153
157
 
154
158
 
155
159
  つまり、**規則性を見付ける**のです。
160
+
161
+
162
+
163
+ (一旦中断)