1. Куча / Говнокод #17747

    +128

    1. 1
    http://james-iry.blogspot.ru/2009/05/brief-incomplete-and-mostly-wrong.html

    просто оставлю здесь это.

    Vasiliy, 08 Марта 2015

    Комментарии (0)
  2. Haskell / Говнокод #17746

    −99

    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
    --Поиск минимальной выпуклой оболочки
    import Data.List; import Data.Ord
    --общие функции и типы
    data Point = P{x::Float,y::Float}
    	deriving (Show,Eq) 
    	
    getRotate a b c = baX * cbY - baY * cbX
    	where baX = x b - x a; baY = y b - y a;
    		  cbX = x c - x b; cbY = y c - y b;
    		 
    sortFunc a b c 
    	|k < 0  = LT
    	|k == 0 = compare (long a c) (long a b) 
    	|k > 0  = GT
    		where k = getRotate a b c
    
    long a b = (x b - x a)*(x b - x a) + (y b - y a)*(y b - y a)
    		
    getLeftPoint = minimumBy (comparing x)
    --Джарвис
    getMBOJarvis l = mboJ fp l fp
    	where fp = getLeftPoint l		
    		
    mboJ current list fp 
    	|getRotate current next fp > 0   = []
    	|True                            = current : mboJ next listWOC fp
    		where listWOC = filter ((/=)current) list;
    			  next    = minimumBy (sortFunc current) listWOC;
    --Грехем			
    getMBOGragam = tail.throwGraham.sortGraham 
    
    sortGraham list = fp:sortBy (sortFunc fp) list
    	where  fp = getLeftPoint list
    		   
    throwGraham (f:s:t) = mboG (s:f:[]) t
    		   
    mboG fs@(f:s:st) sn@(h:t)
    	|sortFunc s f h == GT = mboG (s:st) sn
    	|True                 = mboG(h:fs) t
    	
    mboG fs@(f:st) sn@(h:t)   = mboG(h:fs) t
    	
    mboG l [] = l
    --тесты		     
    testList1 = [P 0 (-1), P (-1) 0, P 0 1,P 1 0,P (-0.5) (-0.5),P 0.5 (-0.5),P (-0.5) 0.5,P 0.5 0.5,P 0 0]
    		  
    testList2 = [P 0 0, P 1 0, P 0 1,P 2 0,P 1 1,P 0 2,P 2 1,P 1 2,P 2 2]
    	
    	
    testJ1  = mapM_ print $ getMBOJarvis testList1		
    		
    testG1  = mapM_ print $ getMBOGragam testList1
    
    testJ2  = mapM_ print $ getMBOJarvis testList2		
    		
    testG2  = mapM_ print $ getMBOGragam testList2

    Haskell
    [сарказм]
    Как я могу идти против моды - не заливать этих французских лаб и не выпивать чаю?

    Выкладываю, что бы порадовать своего кота Барсика. Барсик, покойся с миром.

    А спонсор этого говна - компания "Потролль препода". "Потролль препода" - пиши лабы на хаскелле
    [/сарказм]

    kegdan, 07 Марта 2015

    Комментарии (60)
  3. Си / Говнокод #17745

    +138

    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
    typedef enum { SUCCESS = 0, NOTNUMBER = 1, BOUNDS = 2, EOFREACHED = 3 } rdstat_t;
    
    int flush_line(FILE *stream) {
      int ch;
      do {
        ch = fgetc(stream);
      } while (ch != EOF && ch != '\n');
      return ch;
    }
    
    /* enough to contain (1 + length of ASCII string of SIZE_MAX
       decimal representation) characters */
    #define SIZE_T_BUF_SIZE 100
    
    /* reads until newline or EOF, writes (size_t *out) if success */
    rdstat_t read_size_t(FILE *stream, size_t *out) {
      char str_SIZE_MAX[SIZE_T_BUF_SIZE];
      snprintf(str_SIZE_MAX, SIZE_T_BUF_SIZE, "%zu", SIZE_MAX);
     
      char buf[SIZE_T_BUF_SIZE];
      if (!fgets(buf, SIZE_T_BUF_SIZE, stream)) 
        return EOFREACHED;
      if (buf[strlen(buf) - 1] != '\n') {
        flush_line(stream);
        return NOTNUMBER;
      }
    
      buf[strlen(buf) - 1] = 0;
      char *ch;
      for (ch = buf; *ch; ++ch)
        if (!isdigit(*ch)) 
          return NOTNUMBER;
    
      if (strlen(buf) == strlen(str_SIZE_MAX) && strcmp(buf, str_SIZE_MAX) > 0) 
          return BOUNDS;
        
      sscanf(buf, "%zu", out);
      return SUCCESS;
    }

    Наваял функцию для чтения size_t из файла с защитой от дурака (писал код будучи больным, чесслово).
    Ничего умнее печати SIZE_MAX в строчку и лексикографического сравнения для проверки границ введенного числа не придумал %)

    vlitomsk, 06 Марта 2015

    Комментарии (26)
  4. PHP / Говнокод #17744

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function array_search_my($string,$array){
            foreach($array as $el){
                if($el==$string) return true;
            }
            return false;
        }

    in_array - не круто.

    fasterrr, 06 Марта 2015

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

    +144

    1. 1
    Zaebali v komenty govno pisat !

    vot tak!

    mikamika83, 06 Марта 2015

    Комментарии (5)
  6. PHP / Говнокод #17742

    +147

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    <?
    
    // Код от блондинки
    $moya_peremennaya = 0;
    for ($moya_drugaya_peremennaya = 0; $moya_drugaya_peremennaya < 100; $moya_drugaya_peremennaya += $moya_drugaya_peremennaya) {
    
    $moya_peremennaya = $moya_drugaya_peremennaya; 
    // У меня не работало $moya_peremennaya = 100  
    
    }
    ?>

    Код одной блондинки

    mikamika83, 06 Марта 2015

    Комментарии (23)
  7. Java / Говнокод #17741

    +79

    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
    private short findHeaderLength() {
        return (short)(
            1+
            3+
            4+
            2+
            2+
            2+
            1+
            1+
            4+
            4+
            4+
            1+
            1+
            2+
            (32*fieldArray.length)+
            1
        );
    }

    DBFHeader

    bormand, 06 Марта 2015

    Комментарии (11)
  8. 1C / Говнокод #17740

    −96

    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
    Если ДеревоXML.Строки[0].Строки[0].ЗначениеXMLЭлементаДанных = "0" Тогда 
    	СтатусДоставки="0";
    ИначеЕсли ДеревоXML.Строки[0].Строки[0].ЗначениеXMLЭлементаДанных = "1" Тогда 
    	СтатусДоставки="1";
    ИначеЕсли ДеревоXML.Строки[0].Строки[0].ЗначениеXMLЭлементаДанных = "2" Тогда 
    	СтатусДоставки="2";
    ИначеЕсли ДеревоXML.Строки[0].Строки[0].ЗначениеXMLЭлементаДанных = "3" Тогда
    	
    	ДопЗначение=ДеревоXML.Строки[0].Строки[1].ЗначениеXMLЭлементаДанных;
    	
    	СтатусДоставки="3"+ДопЗначение;
    ИначеЕсли ДеревоXML.Строки[0].Строки[0].ЗначениеXMLЭлементаДанных = "4" Тогда 
    	СтатусДоставки="4";
    КонецЕсли;

    p0p, 06 Марта 2015

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

    +59

    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
    LPVOID  lpInfo = NULL;;
    UINT    unInfoLen = 0;
    
    DWORD  dwLangCode = 0;
    if (!GetTranslationId(lpInfo, unInfoLen, GetUserDefaultLangID(), dwLangCode, FALSE))
    {
        if (!GetTranslationId(lpInfo, unInfoLen, GetUserDefaultLangID(), dwLangCode, TRUE))
        {
          if (!GetTranslationId(lpInfo, unInfoLen, MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), dwLangCode, TRUE))
          {
            if (!GetTranslationId(lpInfo, unInfoLen, MAKELANGID(LANG_ENGLISH, SUBLANG_NEUTRAL), dwLangCode, TRUE))
              // use the first one we can get
              dwLangCode = *((DWORD*)lpInfo);
          }
        }
    }

    докомментировались, ебанатики...

    blackhearted, 06 Марта 2015

    Комментарии (17)
  10. Python / Говнокод #17738

    −113

    1. 1
    escape_cats = [cat_id for cat_id, values in cats.iteritems() if any([values[1] == supercat or cat_id == supercat for supercat in escape_supercats])]

    Избегание котов.

    pushistayapodmyshka, 06 Марта 2015

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