1. Java / Говнокод #2517

    +65.5

    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
    private static String getUTF8String(byte[] b, int off, int len) {
    	// First, count the number of characters in the sequence
    	int count = 0;
    	int max = off + len;
    	int i = off;
    	while (i < max) {
    	    int c = b[i++] & 0xff;
    	    switch (c >> 4) {
    	    case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:
    		// 0xxxxxxx
    		count++;
    		break;
    	    case 12: case 13:
    		// 110xxxxx 10xxxxxx
    		if ((int)(b[i++] & 0xc0) != 0x80) {
    		    throw new IllegalArgumentException();
    		}
    		count++;
    		break;
    	    case 14:
    		// 1110xxxx 10xxxxxx 10xxxxxx
    		if (((int)(b[i++] & 0xc0) != 0x80) ||
    		    ((int)(b[i++] & 0xc0) != 0x80)) {
    		    throw new IllegalArgumentException();
    		}
    		count++;
    		break;
    	    default:
    		// 10xxxxxx, 1111xxxx
    		throw new IllegalArgumentException();
    	    }
    	}
    	if (i != max) {
    	    throw new IllegalArgumentException();
    ....

    В либе работы с зипом

    Cdf-EaSy, 01 Февраля 2010

    Комментарии (16)
  2. Pascal / Говнокод #2516

    +101.6

    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
    procedure GaussMas ( n:integer;a: Matr;var rezult:V10);
    var
    s,s1:extended;
    m,i,j,k,km,jm:integer;
    z,d: array [0..10] of Extended ;
    label m2;
    begin
    //..............................
        for i := 1 to n  do
        begin
            for j := 1 to n do
    	   if (a[i][j]>0.9) then
               begin
               rezult[j]:=a[i][m];
               goto m2;
               end;
    m2:      continue;
    end;
    end;

    Процедура расчета матрицы по методу Гаусса.
    Форматирование сохранено как есть.

    Grizzly, 01 Февраля 2010

    Комментарии (21)
  3. Java / Говнокод #2515

    +81.7

    1. 1
    2. 2
    int page = ServletRequestUtils.getIntParameter(request, "page2", 0);
    int page2 = ServletRequestUtils.getIntParameter(request, "page", 0);

    striker, 01 Февраля 2010

    Комментарии (2)
  4. Python / Говнокод #2514

    −181.1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    def explode(self,xx,y,t) :
                    #sometimes xx is -1. It's a bug we workaround here
                    if xx == -1 :
                            x = size_x - 1
                    else :
                            x = xx

    Нашел в одной игрушке, пытаясь найти и иправить досадный баг

    nexeuse, 01 Февраля 2010

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

    +55.5

    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
    //------------------------------- COMPARE -------------------------------------
    // Function to compare two strings on a mask, using a question mark and
    // asterisk.Question mark matches any single character. The asterisk matches
    // any signs of a minimum length of zero. maximum length is not limited. Only
    // the next character in the mask has a value when there is a coincidence.
    int compare(const char pat[],const char text[],int rec_ex)
    {
        bool    flag = false;               // flag show if working on "star"
        int     pat_len ,txt_len,           // lehtghs of pattern and text
                flagc,                      // counter and  position i check
                shift=0;                    // shift position
    
        pat_len = (int)strlen(pat);         // get lehtgh of pattern
        txt_len = (int)strlen(text);        // get lehtgh of text
    
        if(rec_ex == 1 || (!pat_len && !txt_len))   // check if have to check some
            return(1);                      // if yes return 1 or if have exit
        else if(rec_ex == pat_len)          // else return 0 becose not check that
            return (0);                     // return 0
    
        for(flagc=0;flagc < pat_len;flagc++)
            if(pat[flagc] == '*' && flagc + 1 == pat_len)
                return(compare(pat,text,1));// end of check return 1
            else if(pat[flagc] == '*')
                flag = true;                // start * compare set flag true
            else if(pat[flagc] != '?')
            {
                if(toupper(pat[flagc]) != toupper(text[flagc+shift]) && !flag)
                    return(compare(pat,text,pat_len));   // bad char and no star
                else if(toupper(pat[flagc]) == toupper(text[flagc+shift]) && flag)
                    flag = false;                   // set flag false position
                else if(toupper(pat[flagc]) != toupper(text[flagc+shift]) && flag)
                    shift++;
            }
            else if(pat[flagc] == '?')
            {                               // check if have ? in star operation
                if(toupper(pat[flagc]) == toupper(text[flagc+shift]) && flag)
                    flag = false;           // set flag false position
                else if(toupper(pat[flagc]) != toupper(text[flagc+shift]) && flag)
                    shift++;                // add one more into shift
            }
        if((flagc+shift < txt_len && !flag) // text have nore chars and
            || (flagc+shift == txt_len +1 && pat[pat_len+1] != '*'))
            return(compare(pat,text,pat_len)); // and next char in pattern no star
        else
            return(compare(pat,text,1));       // end of pattern and text
    
    }

    Вот на после завтра нужно по программированию функцию написать- рекурсивную для сравнения строк по маске.
    Написал :-) якобы рекурсивную функцию :-)

    werd, 01 Февраля 2010

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

    +160.2

    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
    <?
    function freadbyte($f)
    {
    	return ord(fread($f,1));
    };
    
    function freadword($f)
    {
    	$b1=freadbyte($f);
    	$b2=freadbyte($f);
    	return $b2*256+$b1;
    };
    
    function freadlngint($f)
    {
    	return freaddword($f);
    };
    
    function freaddword($f)
    {
    	$b1=freadword($f);
    	$b2=freadword($f);
    	return $b2*65536+$b1;
    };
    ?>

    полный набор из побочных эффектов, магических цифр, лишних переменных и алиасов

    xXx_totalwar, 31 Января 2010

    Комментарии (7)
  7. PHP / Говнокод #2511

    +163.6

    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
    <?php
    function g_webi_razbitye_stranicy($st,$nachalo_ssilki, $kol_vidimyx_stranic, $kol_dannix, $kol_dannix_na_stran,$name_st_var="st",$rewrite=0,$end_stat="")
    {
    	$return=""; // переменная для сбора вывода
    	if($kol_dannix > $kol_dannix_na_stran){
    		$ostatok=$kol_dannix%$kol_dannix_na_stran;
    		$kolichestvo_stranic=($kol_dannix-$ostatok)/$kol_dannix_na_stran;
    		if ($ostatok>0): # Если остаток был больше нуля, значит остается еще несколько объяв, для которых нужна еще одна страница
    			$kolichestvo_stranic++;
    		endif;
    	}
    	if ($kolichestvo_stranic>$kol_vidimyx_stranic){ # если больше количества видимых страниц, начинаем прятать другие страницы в >>>
    		$kol_stranic_s_leva=ceil($kol_vidimyx_stranic/2);
    		if ($st>$kol_stranic_s_leva) { # (отсекание левой части)Если открыта страница выше пятой, то i примет другое значение, а если меньше пятой, то i будет 0
    			$i=$st-$kol_stranic_s_leva;
    			$menshe=$i;  }
    		else $i=0;
    		if($menshe<1):$menshe=1;endif;
    		if($i>0){ # Если вывод с первой страницы 1 2 3 4... то <<< выводить не надо
    			if($rewrite) $return.=$nachalo_ssilki."".$menshe.$end_stat."\"><<<</a>  ";
    			else $return.=$nachalo_ssilki."&".$name_st_var."=".$menshe."\"><<<</a>  ";
    		}
    		while($i<$kolichestvo_stranic){
    			$iii=$i+1;
    			if($st==$iii) $return.=" <b>$iii</b>  ";
    			else {
    				if($rewrite) $return.=$nachalo_ssilki."".$iii.$end_stat."\">$iii</a>  ";
    				else $return.=$nachalo_ssilki."&".$name_st_var."=".$iii."\">$iii</a>  ";
    			}
    			$i++;
    		}
    		return $return;
    	}
    }
    ?>

    функция вывода постраничного разбиения
    #webi.ru

    xXx_totalwar, 31 Января 2010

    Комментарии (13)
  8. Pascal / Говнокод #2510

    +92.7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    case MessageDlg('Сформировать отчет за месяц (YES), квартал (NO), год (CANCEL)?',mtWarning,[mbYes,mbNo,mbCancel],0) of
    mrYes://...
    mrNo://...
    mrCancel://...
    end;

    Интересно, что будет, если потребуется расширить программу (добавить новые временные периоды)?

    Lester, 31 Января 2010

    Комментарии (14)
  9. JavaScript / Говнокод #2509

    +148.2

    1. 1
    if (top.location != self.location) top.location = self.location;

    встретил тут
    http://1.bp.blogspot.com/_be9EPlH_ckc/SJ_Js9NcQiI/AAAAAAAAFJk/YCBnTV8devw/s1600-h/c852510e1c9beaaa718746e5e18e322e_full.jp g
    ссмотреть надо в исходный код страницы

    danilissimus, 31 Января 2010

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

    +159.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    document.getElementById('f1').style.display = ((document.getElementById('f1').style.display=='none'&&id==1)?'block':'none');
     document.getElementById('t1').style.display = ((document.getElementById('f1').style.display=='block')?'none':'block');
     document.getElementById('f2').style.display = ((document.getElementById('f2').style.display=='none'&&id==2)?'block':'none');
     document.getElementById('t2').style.display = ((document.getElementById('f2').style.display=='block')?'none':'block');
     document.getElementById('f3').style.display = ((document.getElementById('f3').style.display=='none'&&id==3)?'block':'none');
     document.getElementById('t3').style.display = ((document.getElementById('f3').style.display=='block')?'none':'block');

    Есть три формы, нужно показывать только одну. При клике на заголовок форма разворачивается, а вместо остальных появляются подсказки.

    erfen, 31 Января 2010

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