fork download
  1. #include <random>
  2. #include <chrono>
  3. #include <iostream>
  4. #include <string>
  5. #include <fstream>
  6. class imgurRandom
  7. {
  8. public:
  9.  
  10. char upperCase()
  11. {
  12. auto timeSeed = std::chrono::system_clock::now().time_since_epoch().count();
  13. std::minstd_rand0 generator(timeSeed);
  14. std::uniform_int_distribution<int> distribution(minRangeOfAsciiUppercaseLetter, maxRangeOfAsciiUppercaseLetter);
  15. auto getRandom = [&]() { return distribution(generator); };
  16.  
  17. return getRandom();
  18. }
  19. char lowerCase()
  20. {
  21. auto timeSeed = std::chrono::system_clock::now().time_since_epoch().count();
  22. std::minstd_rand0 generator(timeSeed);
  23. std::uniform_int_distribution <int> distribution(minRangeOfAsciiLowercaseLetter, maxRangeOfAsciiLowercaseletter);
  24. auto getRandom = [&]() { return distribution(generator); };
  25.  
  26. return getRandom();
  27. }
  28.  
  29. unsigned short int getTrueOrFalse()
  30. {
  31. auto timeSeed = std::chrono::system_clock::now().time_since_epoch().count();
  32. std::minstd_rand0 generator(timeSeed);
  33. std::uniform_int_distribution<int> distribution(0, 1);
  34. auto getRandom = [&]() { return distribution(generator); };
  35.  
  36. return getRandom();
  37. }
  38.  
  39.  
  40. private:
  41. const unsigned short int minRangeOfAsciiUppercaseLetter = 65;
  42. const unsigned short int maxRangeOfAsciiUppercaseLetter = 90;
  43.  
  44. const unsigned short int minRangeOfAsciiLowercaseLetter = 97;
  45. const unsigned short int maxRangeOfAsciiLowercaseletter = 122;
  46.  
  47. const unsigned short int minDigitRange = 0;
  48. const unsigned short int maxDigitRange = 9;
  49. };
  50. int main()
  51. {
  52. imgurRandom random;
  53. char letter;
  54. unsigned short int asciiCode = 0;
  55. std::string imageName = "";
  56. // std::ofstream fileToStoreImageNames;
  57. //fileToStoreImageNames.open("imgur_names.txt", std::ios::app);
  58.  
  59.  
  60. // if (!fileToStoreImageNames.is_open())
  61. // return -1;
  62.  
  63.  
  64. for (auto i = 0; i < 6; i++)
  65. { /* if getTrueOrFalse()==0 return upperCase() if not return lowerCase() */
  66. asciiCode = random.getTrueOrFalse() == 0 ? random.upperCase() : random.lowerCase();
  67. letter = static_cast <char>(asciiCode);
  68. if (imageName.size() > 0)
  69. imageName += letter;
  70. else
  71. imageName = letter;
  72. }
  73. // fileToStoreImageNames << imageName << std::endl;
  74. std::cout << imageName << std::endl;
  75.  
  76.  
  77. return 0;
  78. }
Success #stdin #stdout 0s 3276KB
stdin
Standard input is empty
stdout
Kyyzzz