Это проблема, которую я пытаюсь решить:
Попросите пользователя ввести кучу слов, сколько они захотят, пока они не введут 0. После
подсчитайте, сколько раз каждая буква встречается во всех словах, и распечатайте список каждой буквы и сколько раз она появляется. Пример:
Enter word> hello
Enter word> lemon
Enter word> goodbye
Enter word> 0
Letter: h appears 1 times
letter: e appears 3 times
...
До сих пор я должен сложить все слова и сделать сравнения. Проблема заключается в том, что после того, как все слова собраны вместе, а 0 введен, я не могу сосчитать каждый отдельный символ в объединенной строке. Я провел некоторые исследования и прочитал, что для этого вам нужны векторы, но я не понимаю, как их использовать.
Я пытался сделать это в течение недели, чтобы понять это правильно, но безрезультатно. C ++ отличается от всех других языков, которые я выучил (по крайней мере, для меня).
Вы можете использовать std::unordered_map
, с символами в качестве ключа и счетчиком в качестве значения. Для каждой прочитанной строки просто переберите ее и увеличьте значение, соответствующее символу на карте.
Таким образом, вам не нужно хранить слова.
Других решений пока нет …