Для каждого символа заданного текста указать, сколько раз встречается в тексте - C (СИ)
Формулировка задачи:
обработка символьных данных:
Для каждого символа заданного текста указать, сколько раз встречается в тексте. Сообщение об одном символе не должно встречаться больше, чем один раз.
заранее благодарю!!!!!
Решение задачи: «Для каждого символа заданного текста указать, сколько раз встречается в тексте»
textual
Листинг программы
#include <string> #include <map> #include <algorithm> #include <iostream> #include <locale> #include <boost/lambda/lambda.hpp> using namespace boost::lambda; int main() { setlocale(LC_ALL, ""); typedef std::map<std::string::value_type, size_t> Z; Z z; std::string text; std::getline(std::cin, text); std::for_each(text.begin(), text.end(), ++var(z)[_1]); for (Z::const_iterator it = z.begin(); it != z.end(); ++it) std::cout << "Символ '" << it->first <<"' встречается " << it->second << " раз." << std::endl; return 0; }
Объяснение кода листинга программы
- Подключение необходимых заголовочных файлов для работы с текстом и map
- Установка локали на
C
- Создание специализированного типа Z для хранения результатов подсчета
- Ввод текста из стандартного ввода
- Применение лямбда-функции (усиленной версии функции var) к каждому символу в тексте, используя std::for_each, и обновление значения в map для каждого уникального символа
- Вывод результатов на экран, используя цикл for и оператор std::cout
- Возврат 0 для успешного выполнения программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д