fork(1) download
  1. #include <iostream>
  2. #include <vector>
  3. #include <queue>
  4. #include <set>
  5.  
  6. // Заполняем вектор частот символов
  7. // Сохраняем все символы алфавита в std::set
  8. void get_data(std::vector< std::pair<char, double> > &alpha) {
  9. std::vector<char> fr(256);
  10. std::vector<char> stored(256, 0);
  11. char c;
  12.  
  13. while (std::cin >> c) {
  14. fr[c]++; // Вектор хранит количество символов с кодом c
  15. // Добавить новую пару в том случае, если символа c нет в векторе
  16. if (!stored[c]) {
  17. alpha.push_back(std::make_pair(c, -1));
  18. stored[c] = 1;
  19. }
  20. }
  21. for (auto it : alpha)
  22. it.second = 1.0 * fr[it.first] / alpha.size();
  23. }
  24.  
  25. void Huffman(std::set<char> &alpha, std::vector<double> &freq) {
  26.  
  27. }
  28.  
  29. int main() {
  30. std::vector< std::pair<char, double> > alpha;
  31.  
  32. get_data(alpha);
  33.  
  34. for (auto it : alpha)
  35. std::cout << it.first << " " << it.second << std::endl;
  36. }
Success #stdin #stdout 0s 3468KB
stdin
rqfwqff
stdout
r -1
q -1
f -1
w -1