回答編集履歴

1

追記

2020/01/13 09:54

投稿

episteme
episteme

スコア16612

test CHANGED
@@ -5,3 +5,87 @@
5
5
  2.1 count[ch-'A']を+1する
6
6
 
7
7
  3. これで度数分布表ができた。count[n]の大きいものを出力する。
8
+
9
+
10
+
11
+ [追記] やってみた
12
+
13
+ ```C
14
+
15
+ #include <stdio.h>
16
+
17
+
18
+
19
+ // 度数分布表をcount[]に求める
20
+
21
+ void hist(const char* str, int count[26]) {
22
+
23
+ int i;
24
+
25
+ for ( i = 0; i < 26; ++i ) {
26
+
27
+ count[i] = 0;
28
+
29
+ }
30
+
31
+ while ( *str != '\0' ) {
32
+
33
+ int ch = *str - 'A';
34
+
35
+ if ( ch >= 0 && ch < 26 ) {
36
+
37
+ ++count[ch];
38
+
39
+ }
40
+
41
+ ++str;
42
+
43
+ }
44
+
45
+ }
46
+
47
+
48
+
49
+ int main(){
50
+
51
+ int count[26];
52
+
53
+ int i;
54
+
55
+ int max_inx = 0;
56
+
57
+
58
+
59
+ hist("PPAPAABCD", count);
60
+
61
+ // 出現頻度最大のものを探す
62
+
63
+ for( i = 0; i < 26; ++i ) {
64
+
65
+ if ( count[i] > max_inx ) {
66
+
67
+ max_inx = count[i];
68
+
69
+ }
70
+
71
+ }
72
+
73
+ // 出現頻度最大のものを出力する
74
+
75
+ for( i = 0; i < 26; ++i ) {
76
+
77
+ if ( count[i] == max_inx ) {
78
+
79
+ printf("%c : %d\n", i+'A', count[i]);
80
+
81
+ }
82
+
83
+ }
84
+
85
+
86
+
87
+ return 0;
88
+
89
+ }
90
+
91
+ ```