回答編集履歴

3

2018/09/26 14:17

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -46,9 +46,9 @@
46
46
 
47
47
  i <= 8
48
48
 
49
- roll ← array[i] # サイコロの目
49
+ number ← array[i] # サイコロの目
50
50
 
51
- cnt[roll] ← cnt[roll] + 1
51
+ cnt[roll] ← cnt[number] + 1
52
52
 
53
53
 
54
54
 
@@ -88,9 +88,9 @@
88
88
 
89
89
  for (int i = 0; i < 8; i++) {
90
90
 
91
- int roll = array[i]; // サイコロの目
91
+ int number = array[i]; // サイコロの目
92
92
 
93
- cnt[roll - 1] += 1;
93
+ cnt[number - 1] += 1;
94
94
 
95
95
  }
96
96
 

2

修正

2018/09/26 14:17

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -26,29 +26,29 @@
26
26
 
27
27
  ```presudecode
28
28
 
29
- arry[8], cnt[6]
29
+ array[8], cnt[6]
30
30
 
31
31
 
32
32
 
33
- arry = [1, 2, 4, 3, 6, 1, 2, 5]
33
+ array = [1, 2, 4, 3, 6, 1, 2, 5]
34
34
 
35
35
 
36
36
 
37
- # カウント用の配列を0で初期化する。
37
+ # カウント用の配列を0で初期化する。
38
38
 
39
39
  i <= 6
40
40
 
41
- cnt[i] <- 0
41
+ cnt[i] 0
42
42
 
43
43
 
44
44
 
45
- # サイコロの目に対応するカウント用の配列を+1する。
45
+ # サイコロの目に対応するカウント用の配列」の要素を+1する。
46
46
 
47
47
  i <= 8
48
48
 
49
- roll <- array[i] # サイコロの目
49
+ roll array[i] # サイコロの目
50
50
 
51
- cnt[roll] <- cnt[roll] + 1
51
+ cnt[roll] cnt[roll] + 1
52
52
 
53
53
 
54
54
 

1

2018/09/26 14:13

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -1,4 +1,4 @@
1
- 問題点
1
+ ## 問題点
2
2
 
3
3
 
4
4
 
@@ -11,6 +11,12 @@
11
11
  * cnt[i] <- cnt[i] + array[i] だとサイコロの目の値を足してしまっています。array[i] が出た目なので、cnt[array[i]] = cnt[array[i]] + 1 とします。
12
12
 
13
13
  * コメントにあるように、集計が終わったあとに出力します。
14
+
15
+
16
+
17
+
18
+
19
+ ## 擬似コード
14
20
 
15
21
 
16
22
 
@@ -55,3 +61,67 @@
55
61
 
56
62
 
57
63
  ```
64
+
65
+
66
+
67
+ ## C言語の例
68
+
69
+
70
+
71
+ ```c
72
+
73
+ int main(void){
74
+
75
+ // サイコロの目
76
+
77
+ int array[] = {1, 3, 4, 6, 2, 1, 5, 3};
78
+
79
+
80
+
81
+ // カウント用の配列を初期化する。
82
+
83
+ int cnt[6] = {};
84
+
85
+
86
+
87
+ // カウントする。
88
+
89
+ for (int i = 0; i < 8; i++) {
90
+
91
+ int roll = array[i]; // サイコロの目
92
+
93
+ cnt[roll - 1] += 1;
94
+
95
+ }
96
+
97
+
98
+
99
+ // 結果を表示する。
100
+
101
+ for (int i = 0; i < 6; i++) {
102
+
103
+ printf("%d:%d\n", i + 1, cnt[i]);
104
+
105
+ }
106
+
107
+ }
108
+
109
+ ```
110
+
111
+
112
+
113
+ ```
114
+
115
+ 1:2
116
+
117
+ 2:1
118
+
119
+ 3:2
120
+
121
+ 4:1
122
+
123
+ 5:1
124
+
125
+ 6:1
126
+
127
+ ```