1. C++ / Говнокод #7638

    +148

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    void init()
    {
        letters.push_back("q");
        letters.push_back("w");
        letters.push_back("e");
        letters.push_back("r");
        letters.push_back("t");
        letters.push_back("y");
        letters.push_back("u");
        letters.push_back("i");
        letters.push_back("o");
        letters.push_back("p");
        letters.push_back("a");
        letters.push_back("s");
        letters.push_back("d");
        letters.push_back("f");
        letters.push_back("g");
        letters.push_back("h");
        letters.push_back("j");
        letters.push_back("k");
        letters.push_back("l");
        letters.push_back("z");
        letters.push_back("x");
        letters.push_back("c");
        letters.push_back("v");
        letters.push_back("b");
        letters.push_back("n");
        letters.push_back("m");
        letters.push_back("0");
        letters.push_back("1");
        letters.push_back("2");
        letters.push_back("3");
        letters.push_back("4");
        letters.push_back("5");
        letters.push_back("6");
        letters.push_back("7");
        letters.push_back("8");
        letters.push_back("9");
    }

    пусть кому-то станет стыдно!

    Запостил: Lure Of Chaos, 24 Августа 2011

    Комментарии (25) RSS

    • А как надо?
      char kbd_chars[] = {'q', 'w', ...};
      size_t chars_number = sizeof(kbd_chars) / sizeof(char);
      list<char> letters(kbd_chars, kbd_chars + chars_number);
      ?
      P.S. а если dworak?...
      Ответить
      • а может так?

        const char *const kbd_chars = "qwertyuiopasdfghjklzxcvbnm0123456789";
        vector<char> letters(&kbd_chars[0], &kbd_chars[strlen(kbd_chars)]);
        Ответить
        • static const std::string keys_string = "qwertyuiopasdfghjklzxcvbnm0123456789";
          
          struct fetch_key_as_string{
              std::string operator()(const std::string::value_type& c){ return std::string(1, c);}
          };
          void init(){
          letters.resize(keys_string.size());
          std::transform(keys_string.begin(), keys_string.end(), letters.begin(), fetch_key_as_string());
          }

          Ня?
          Новорожденный стандарт должен избавить нас от структуры и вообще облагодетельствовать инициализирующими списками.
          Ответить
        • Самый Ъ-вариант.
          Коротко и платформо не зависимо.
          Только вот лучше так:
          const char *const kbd_chars = "qwertyuiopasdfghjklzxcvbnm0123456789";
          vector<char> letters(begin(kbd_chars), end(kbd_chars));
          Это более правильно и не будет давать варнинги на "опасные итераторы" в CRT ms vs.
          begin\end - См новый стандарт или бууст.
          Ответить
    • Нахрена?
      Ответить
    • http://habrahabr.ru/sandbox/34243/
      Ответить
      • int genRnd(int max)
        {
             return rand() % max;
        }
        Оттуда же.
        Вышла новая программа: срать не меньше килограмма. Кто насерет целый пуд - тому премию дадут.
        Ответить
      • cat /dev/urandom| tr -dc 'a-zA-Z0-9' | fold -w 10| head -n 1

        этот проще
        Ответить
      • Он заслужил инвайта)
        Ответить
      • >Готово. Просто добавляем сливки.
        >Пишем GUI и т.д. и т.п. Самого главного мы добились — у нас есть генератор случайных паролей.

        браво! решена задача стратегической важности.
        хотел бы я посмотреть на эти сливки.
        Ответить
    • Вот ради этого мы и ждали новый Стандарт 13 лет.
      Ответить
    • Непонятно, почему нужно было использовать именно такой порядок букв. Чтобы пароли получались "случайнее"? Тут этот список, по большому счёту, нафиг не нужен.
      Ответить

    Добавить комментарий