回答編集履歴
1
追記
answer
CHANGED
@@ -2,4 +2,25 @@
|
|
2
2
|
> counter[tolower(ch) - 'a']++;
|
3
3
|
> にエラーがでてしまうのですがなぜでしょうか。
|
4
4
|
|
5
|
-
tolower(ch) - 'a' がcounterの範囲: 0~25 の下限/上限から外れることがある から。
|
5
|
+
tolower(ch) - 'a' がcounterの範囲: 0~25 の下限/上限から外れることがある から。
|
6
|
+
|
7
|
+
[追記] 別解(のひとつ)
|
8
|
+
```C++
|
9
|
+
#include <iostream>
|
10
|
+
#include <string>
|
11
|
+
#include <map>
|
12
|
+
#include <cctype>
|
13
|
+
|
14
|
+
int main() {
|
15
|
+
std::map<char,int> counter;
|
16
|
+
char ch;
|
17
|
+
|
18
|
+
while ( std::cin >> ch ) {
|
19
|
+
if ( isalpha(ch) ) ++counter[tolower(ch)];
|
20
|
+
}
|
21
|
+
|
22
|
+
for ( ch = 'a'; ch <= 'z'; ++ch ) {
|
23
|
+
std::cout << ch << " : " << counter[ch] << std::endl;
|
24
|
+
}
|
25
|
+
}
|
26
|
+
```
|