質問編集履歴

5

消し忘れのコードを修正

2021/06/17 01:17

投稿

smile_20200722
smile_20200722

スコア11

test CHANGED
File without changes
test CHANGED
@@ -334,7 +334,7 @@
334
334
 
335
335
  ### 追加(2021/06/17)
336
336
 
337
- 側面のみを回転させる関数right_rotationを書いてみましたが、テストケース3でエラーが出てしまいます。
337
+ 側面のみを回転させる関数right_rotationを書いてみましたが、不合格になってしまっています。
338
338
 
339
339
  ```C++
340
340
 
@@ -372,8 +372,6 @@
372
372
 
373
373
  }
374
374
 
375
- toss('W');
376
-
377
375
  }
378
376
 
379
377
  return false;
@@ -397,15 +395,3 @@
397
395
  }
398
396
 
399
397
  ```
400
-
401
- テストケース3の入力値
402
-
403
- 期待された出力のYesにならない。
404
-
405
- ```
406
-
407
- 10 20 30 40 50 60
408
-
409
- 10 20 30 40 50 60
410
-
411
- ```

4

横回転の関数を追加

2021/06/17 01:17

投稿

smile_20200722
smile_20200722

スコア11

test CHANGED
File without changes
test CHANGED
@@ -331,3 +331,81 @@
331
331
  5 3 6 1 4 2
332
332
 
333
333
  ```
334
+
335
+ ### 追加(2021/06/17)
336
+
337
+ 側面のみを回転させる関数right_rotationを書いてみましたが、テストケース3でエラーが出てしまいます。
338
+
339
+ ```C++
340
+
341
+ bool Dice::is_same_dice(Dice d) {
342
+
343
+ for(int i = 0; i < 6; i++) {
344
+
345
+ if(i < 4) {
346
+
347
+ toss('S');
348
+
349
+ } else if(i == 4) {
350
+
351
+ toss('E');
352
+
353
+ } else {
354
+
355
+ toss('W');
356
+
357
+ toss('W');
358
+
359
+ }
360
+
361
+
362
+
363
+ for(int j = 0; j < 4; j++) {
364
+
365
+ right_rotation();
366
+
367
+ if(is_same(d)) {
368
+
369
+ return true;
370
+
371
+ }
372
+
373
+ }
374
+
375
+ toss('W');
376
+
377
+ }
378
+
379
+ return false;
380
+
381
+ }
382
+
383
+
384
+
385
+ void Dice::right_rotation() {
386
+
387
+ int tmp = dice[1];
388
+
389
+ dice[1] = dice[2];
390
+
391
+ dice[2] = dice[4];
392
+
393
+ dice[4] = dice[3];
394
+
395
+ dice[3] = tmp;
396
+
397
+ }
398
+
399
+ ```
400
+
401
+ テストケース3の入力値
402
+
403
+ 期待された出力のYesにならない。
404
+
405
+ ```
406
+
407
+ 10 20 30 40 50 60
408
+
409
+ 10 20 30 40 50 60
410
+
411
+ ```

3

テストケース11の文章の追加

2021/06/17 01:03

投稿

smile_20200722
smile_20200722

スコア11

test CHANGED
File without changes
test CHANGED
@@ -322,6 +322,8 @@
322
322
 
323
323
  テストケース11の入力値
324
324
 
325
+ 期待通りのYesの出力が得られない。
326
+
325
327
  ```
326
328
 
327
329
  1 2 3 4 5 6

2

テストケース11の入力値を追加

2021/06/16 11:28

投稿

smile_20200722
smile_20200722

スコア11

test CHANGED
File without changes
test CHANGED
@@ -319,3 +319,13 @@
319
319
  }
320
320
 
321
321
  ```
322
+
323
+ テストケース11の入力値
324
+
325
+ ```
326
+
327
+ 1 2 3 4 5 6
328
+
329
+ 5 3 6 1 4 2
330
+
331
+ ```

1

is_same関数とis_same_dice関数の修正

2021/06/16 11:27

投稿

smile_20200722
smile_20200722

スコア11

test CHANGED
File without changes
test CHANGED
@@ -241,3 +241,81 @@
241
241
 
242
242
 
243
243
  ```
244
+
245
+
246
+
247
+ ### 追加(2021/06/16)
248
+
249
+ ```C++
250
+
251
+ bool Dice::is_same(Dice d) {
252
+
253
+ for(int i = 0; i < 6; i++) {
254
+
255
+ if(dice[i] != d.get_status(i)) {
256
+
257
+ return false;
258
+
259
+ }
260
+
261
+ }
262
+
263
+ return true;
264
+
265
+ }
266
+
267
+
268
+
269
+ bool Dice::is_same_dice(Dice d) {
270
+
271
+ for(int i = 0; i < 6; i++) {
272
+
273
+ if(i < 4) {
274
+
275
+ toss('S');
276
+
277
+ } else if(i == 4) {
278
+
279
+ toss('E');
280
+
281
+ } else {
282
+
283
+ toss('W');
284
+
285
+ toss('W');
286
+
287
+ }
288
+
289
+
290
+
291
+ for(int j = 0; j < 4; j++) {
292
+
293
+ if (j == 1) {
294
+
295
+ toss('E');
296
+
297
+ } else if(j < 4) {
298
+
299
+ toss('S');
300
+
301
+ }
302
+
303
+ if (is_same(d)) {
304
+
305
+ return true;
306
+
307
+ }
308
+
309
+ }
310
+
311
+ // toss('S');
312
+
313
+ toss('W');
314
+
315
+ }
316
+
317
+ return false;
318
+
319
+ }
320
+
321
+ ```