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

    Всего: 56

  2. Куча / Говнокод #10327

    +119

    1. 1
    foldr ((.) . (:)) id

    HaskellGovno, 20 Мая 2012

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

    +115

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    count c l = length $ filter (c==) l
     
    main = do 
            l <- getLine
            let
                    f = count '(' l
                    s = count ')' l
            in
            print $ f s (f==s)

    Посоны, как смешивать монадический код и не монадический?
    http://ideone.com/yRGDk
    Чистый код let in не хочет в монду.

    HaskellGovno, 14 Мая 2012

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

    −26

    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
    Apply_Deferred_Lighting_Template< LIGHT_STAGE, ELightType::Light_Point >(
     context, queue,
     lightsArray + lightOffsets[ LIGHT_STAGE, ELightType::Light_Point ],
     lightCounts[LIGHT_STAGE][ELightType::Light_Point]
    );
    
    Apply_Deferred_Lighting_Template< LIGHT_STAGE, ELightType::Light_Point >(
     context, queue,
     lightsArray + lightOffsets[ LIGHT_STAGE, ELightType::Light_Spot ],
     lightCounts[LIGHT_STAGE][ELightType::Light_Spot]
    );
    
    Apply_Deferred_Lighting_Template< LIGHT_STAGE, ELightType::Light_Beam >(
     context, queue,
     lightsArray + lightOffsets[ LIGHT_STAGE, ELightType::Light_Beam],
     lightCounts[LIGHT_STAGE][ELightType::Light_Beam]
    );

    Здесь больше:

    http://www.gamedev.ru/code/forum/?id=162116

    HaskellGovno, 11 Мая 2012

    Комментарии (15)
  5. Куча / Говнокод #10247

    +123

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    import Data.Array.IO
    main = do arr <- newArray (1,10) 37 :: IO (IOArray Int Int)
              a <- readArray arr 1
              writeArray arr 1 64
              b <- readArray arr 1
              print (a, b)

    Вот такое вот говно приходится терпеть, если хочешь работать в хаскеле с массивами. Дальше будет только нос закрывай. To be continued...

    HaskellGovno, 11 Мая 2012

    Комментарии (15)
  6. Куча / Говнокод #10229

    +121

    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
    minChunksSize=1000.0 -- 100.0
     
    facbig :: Integer -> Integer
    facbig n = 
            let 
                    divisionProportion = 0.9 -- 2.0/3.0
                    amountOfChunk = truncate $ logBase divisionProportion $ minChunksSize/fromIntegral n
                    proportions = map (divisionProportion^) [amountOfChunk, amountOfChunk-1 .. 1]
                    centralChunkResults = map product [
                            let
                                    begin = proportionToItemNumber 1 beginRangeProportion
                                    end = proportionToItemNumber 0 endRangeProportion
                            in
                            [begin..end] | (endRangeProportion, beginRangeProportion) <- zip proportions $ tail proportions ]
                    beginChunkResult = product [1 .. proportionToItemNumber 0 $ last proportions]
                    endChunkResult = product [proportionToItemNumber 1 $ head proportions .. n]
            in product $ beginChunkResult:endChunkResult:centralChunkResults
            where
                    proportionToItemNumber shift proportion =
                            shift + truncate ((1.0-proportion)*fromIntegral n)
     
    fac n = if n <= (truncate $ 3.0*minChunksSize)
            then product [1..n]
            else facbig n
     
    main = print $ length $ show $ fac 100000

    Вот так вот школота считают число цифр в факториале числа.

    HaskellGovno, 10 Мая 2012

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

    −24

    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
    map<HANDLE,VRwnd*> windows;
    LRESULT WndProc(HANDLE h,UINT ui,WPARAM w,LPARAM m)try{
             return windows.at(h)->Process(ui,w,l);
    }catch(...){ return 0;}
    class VRwnd{
        HANDLE h;
    protected:
        map<UINT,function<LPRESULT(WPARAM,LPARAM)> handlers;// заполняется в конструкторе
        map<int,VRwnd*> idChilds;
        map<HANDLE,VRwnd*> Childs;
    public:
    
         virtual ~VRwnd();
         LRESULT Process(UINT ui,WPARAM w,LPARAM m)try{
                    PreProcess(w,l);// сами решайте, давать фильтру на что-то влиять, или нет.
                    if(ui==WM_NOTIFY) return WmNotify(w,m) ;
                    if(ui==WM_NOTIFY) return WmCommand(w,m) ;
                   return handlers.at(ui).second(w,l);
         }
          catch(...){return 0;}
          LPRESULT WmNotify(WPARAM w,LPARAM m){...}
          LPRESULT WmCommand(WPARAM w,LPARAM m){...}
          virtual LPRESULT PreProcess(WPARAM w,LPARAM m){return 0;}
    };

    HaskellGovno, 09 Мая 2012

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