1. Список говнокодов пользователя ohlol

    Всего: 9

  2. Си / Говнокод #8234

    +147

    1. 1
    signed bool

    ohlol, 18 Октября 2011

    Комментарии (39)
  3. Куча / Говнокод #8232

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    void swap(word& w)
    {
         w=w<<8|w>>8;
    };

    И так, стартует конкурс "самый красивый swap". Жду ваши варианты. Призов не будет, так чисто пожрать.

    ohlol, 18 Октября 2011

    Комментарии (33)
  4. C# / Говнокод #8231

    +952

    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
    namespace AppendStrinAtBegin
    {
        class Program
        {
            static void ProcessDirectory(string path, string fileMask, Action<string> action)
            {
                Directory.EnumerateFiles(path, fileMask).ToList().ForEach(action);
                Directory.EnumerateDirectories(path).ToList().ForEach
                    (
                        subDirectory => ProcessDirectory(subDirectory, fileMask, action)
                    );
            }
    
            static void Main(string[] args)
            {
                Console.WriteLine("Path FileMask AppendedString");
                if (args.Length < 3)
                    return;
                var appendedString = args.Skip(2).Aggregate((workingSentence, next) => workingSentence+ " " +next);
                ProcessDirectory(args[0], args[1], (file) => ProcessFile(file, appendedString));
                Console.WriteLine("Gun done");
            }
    
            static void ProcessFile(string file, string appendedStringAtBegin)
            {
                var fileLines = File.ReadAllLines(file, Encoding.GetEncoding(1251));
                var fileResulted = fileLines.ToList();
                fileResulted.Insert(0, appendedStringAtBegin);
                File.WriteAllLines(file, fileResulted, Encoding.GetEncoding(1251));
            }
        }
    }

    ohlol, 18 Октября 2011

    Комментарии (80)
  5. C++ / Говнокод #8220

    +1007

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    template <typename T, typename U>
    auto operator()(T&& t, U&& u) const
    -> decltype(forward<T>(t) + forward<U>(u)) {
        return forward<T>(t) + forward<U>(u);
    }

    ohlol, 17 Октября 2011

    Комментарии (83)
  6. C++ / Говнокод #8219

    +1000

    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
    #include <iostream>
    #include <stdio.h>
    #include <fcntl.h>
    #include <string>
    #define print(data) cout<<data<<endl;
    #define ord(data) int(data[0])
    #define str(data) char(data)
    #define open fopen
    #define write(f, data) fputc(data, f)
    using namespace std;
    string input()
    {
            string s;
            cin>>s;
            return s;
    };
    FILE* f;
    int chr;
     
    int main() {
            print("Enter:");
            f = open("code.txt", "w");
            chr = ord(input());
            print(chr);
            write(f, str(chr));
            return 0;
    }

    Вот такую лабу сдал студент 1го курса в нашем вузе. Сказал преподавателю, что ему очень нравится питон и он старается ему подражать.
    http://ideone.com/ctkFP

    ohlol, 17 Октября 2011

    Комментарии (90)
  7. Си / Говнокод #8189

    +146

    1. 1
    main(){}

    Минимальная программа на Си.

    ohlol, 13 Октября 2011

    Комментарии (6)
  8. C++ / Говнокод #8129

    +153

    1. 1
    2. 2
    3. 3
    4. 4
    auto L = [](int i)->int { return i+1; };
    typedef decltype(L) TL;
    auto lfunc = &TL::operator();
    int i = (L.*lfunc)(1);

    ohlol, 08 Октября 2011

    Комментарии (36)
  9. C++ / Говнокод #8119

    +154

    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
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    class Allocator
    {
    public:
      
      virtual void *Alloc (size_t) = 0;
      virtual void Dealloc (void *) = 0;
    
      struct Allocation
      {
        Allocator *m_pAllocator[1];
    
        static void Dealloc (void *ptr)
        {
          if (ptr)
            ((Allocator **)ptr)[-1]->Dealloc (((Allocator **)ptr)-1);
        }
      };
    };
    
    class UsesAllocator
    {
    public:
      void *operator new (size_t aSize,Allocator &aAllocator)
      {
        Allocator::Allocation *pResult =
          (Allocator::Allocation *)
          aAllocator.Alloc (aSize+sizeof (Allocator::Allocation));
        if (!pResult) throw std::bad_alloc ();
        pResult->m_pAllocator[0] = &aAllocator;
        return pResult->m_pAllocator+1;
      }
    
      void *operator new [] (size_t aSize,Allocator &aAllocator)
      {
        Allocator::Allocation *pResult =
          (Allocator::Allocation *)
          aAllocator.Alloc (aSize+sizeof (Allocator::Allocation));
        if (!pResult) throw std::bad_alloc ();
        pResult->m_pAllocator[0] = &aAllocator;
        return pResult->m_pAllocator+1;
      }
    
      void operator delete (void *ptr,Allocator &)
      { Allocator::Allocation::Dealloc (ptr); }
    
      void operator delete (void *ptr)
      { Allocator::Allocation::Dealloc (ptr); }
    
      void operator delete [] (void *ptr,Allocator &)
      { Allocator::Allocation::Dealloc (ptr); }
    
      void operator delete [] (void *ptr)
      { Allocator::Allocation::Dealloc (ptr); }
    };
    ...
    
    class MyClass: /*virtual*/ public UsesAllocator
    {
    public:
      ...
    };
    ...
    MyClass *PROFIT = new (allocatorOfOurInterest) MyClass (...);

    http://www.gamedev.ru/flame/forum/?id=153274

    >Посоны! Оказывается, оператор new можно перегружать!

    ohlol, 08 Октября 2011

    Комментарии (51)
  10. Куча / Говнокод #8099

    +123

    1. 1
    2. 2
    3. 3
    4. 4
    При попытке выйти с из логина:
    http://govnokod.ru/user/exit/?url=http%3A%2F%2Fgovnokod.ru%2Fadd
    получаем говно:
    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 72 bytes) in /home/striker/www/index.php on line 507

    ohlol, 06 Октября 2011

    Комментарии (15)