fork download
  1. #include <string>
  2. #include <iostream>
  3. #include <cstddef>
  4.  
  5. int* count_char(const std::string& s)
  6. {
  7. // consider 128 ASCII decimal and their coresponding character codes
  8. int *charASCIIArray = new int[128]{0};
  9. for(const auto& it: s)
  10. {
  11. if(('A' <= it && it <= 'Z') || // if char between (A,B,....,Z) or
  12. ('a' <= it && it <= 'z') ) // between (a,b,....,z)
  13. charASCIIArray[static_cast<int>(it)]++; // we count each corresponding array then
  14. }
  15. return charASCIIArray;
  16. }
  17.  
  18. int main()
  19. {
  20. std::string userinput = "random words WITH *- aLl";
  21.  
  22. int *charASCIIArray = count_char(userinput);
  23. for(std::size_t index = 0; index < 128; ++index)
  24. if(charASCIIArray[index] != 0)
  25. std::cout << "Letter " << static_cast<char>(index) // convert back to char
  26. << " occured " << charASCIIArray[index] << " times.\n";
  27.  
  28. delete[] charASCIIArray;
  29. return 0;
  30. }
  31.  
Success #stdin #stdout 0s 4480KB
stdin
Standard input is empty
stdout
Letter H occured 1 times.
Letter I occured 1 times.
Letter L occured 1 times.
Letter T occured 1 times.
Letter W occured 1 times.
Letter a occured 2 times.
Letter d occured 2 times.
Letter l occured 1 times.
Letter m occured 1 times.
Letter n occured 1 times.
Letter o occured 2 times.
Letter r occured 2 times.
Letter s occured 1 times.
Letter w occured 1 times.