fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <math.h>
  4. int CalculateChars(std::string tag)
  5. {
  6. int Count=0;
  7. for(unsigned int i=0; i<tag.length(); ++i)
  8. if(tag[i]!=' ')Count++;
  9. return Count;
  10. }
  11. void FillTab(int tab[],const int Size)
  12. {
  13. for(int i=0; i<Size; ++i)tab[i]=0;
  14. }
  15. bool isNotWas(std::vector<char>a,char b)
  16. {
  17. for(unsigned int i=0; i<a.size(); ++i)
  18. if(a[i]==b)return false;
  19. return true;
  20. }
  21. void CalculateFrequencyChars(std::string tag,int tab[])
  22. {
  23. std::vector<char>itWas;
  24. int Count=0;
  25. for(unsigned int j=0; j<tag.length(); ++j)
  26. {
  27. if(isNotWas(itWas,tag[j]))
  28. {
  29. for(unsigned int i=0; i<tag.length(); ++i)
  30. {
  31. if(tag[j]==tag[i])Count++;
  32. }
  33. }
  34. else itWas.push_back(tag[j]);
  35. tab[(int)tag[j]%65]=Count;
  36. Count=0;
  37. }
  38. }
  39. std::string writeStars(int sumOfChar,int all)
  40. {
  41. std::string stars="";
  42. int percent=round(sumOfChar*100/all);
  43. for(int i=0; i<percent; ++i)stars+='*';
  44. return stars;
  45.  
  46. }
  47. void WriteChars(int tab[],int allChars)
  48. {
  49. for(int i=0,j=65; j<=90; ++i,++j)
  50. std::cout<<(char)j<<writeStars(tab[i],allChars)<<std::endl;
  51. }
  52. int main()
  53. {
  54. const int amountChars=26;
  55. std::string tag;
  56. std::getline(std::cin,tag);
  57. int sumOfChars=CalculateChars(tag);
  58. int tab[amountChars];
  59. FillTab(tab,amountChars);
  60. CalculateFrequencyChars(tag,tab);
  61. WriteChars(tab,sumOfChars);
  62. return 0;
  63. }
  64.  
Success #stdin #stdout 0s 15240KB
stdin
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBB
stdout
A***************************************************************************************************
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z