fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <queue>
  4. #include <set>
  5.  
  6. // Заполняем вектор частот символов
  7. // Сохраняем все символы алфавита в std::set
  8. void get_data(std::vector<double> &alpha){
  9. char count = 0, c;
  10.  
  11. while(std::cin >> c)
  12. if(c < alpha.size()){
  13. alpha[c]++;
  14. count++;
  15. }
  16.  
  17. for(std::vector<double>::iterator it = alpha.begin(); it != alpha.end(); it++)
  18. (*it) = (*it) / double(count);
  19. }
  20.  
  21. void Huffman(std::set<char> &alpha, std::vector<double> &freq){
  22.  
  23. }
  24.  
  25. int main(){
  26. std::vector<double> alpha(256, 0);
  27.  
  28. get_data(alpha);
  29.  
  30. for(int i = 0; i < alpha.size(); i++)
  31. if(alpha[i] != 0){
  32. std::cout << char(i) << " ";
  33. std::cout << alpha[i];
  34. std::cout << std::endl;
  35. }
  36. }
Success #stdin #stdout 0s 3416KB
stdin
bgsdbgsdddn
stdout
b 0.181818
d 0.363636
g 0.181818
n 0.0909091
s 0.181818