1. Лучший говнокод

    В номинации:
    За время:
  2. C++ / Говнокод #3519

    +152

    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
    #include <fstream>
    using namespace std;
    #define ES EXIT_SUCCESS
    #define FOR(i___,___n) for (int i___=0; i___<(int)___n; i___++)
    #define RFOR(i__,__n,_n)  for (int i__=__n; i__>=_n; i__--)
    #define or(i__,__s) fstream i__((char*)__s)
    #define ow(i__,__s) ofstream i__((char*)__s)
    #define MEM(a,b) a=new char[b]
    #define MEM1(a,b) a=new char*[b]
    #define RFOR1(i__,_i,__n,_n)  for (int i__=__n,  _i=_n; i__>=_n; i__--,_i++)
    int N,L,D;
    char **F, *W;
    int main()
    {	
    	or(in,"input.txt");	ow(out,"output.txt");
    	in>>N>>L>>D;
    	MEM(W,N),MEM1(F,N+1), in.get();
    	FOR(i,N-L+1)	W[i]='0';
    	FOR(i,L) W[N-L+i]=in.get();
    	FOR(i,N+1)	MEM(F[i],2), F[i][0]=F[i][1]=0;
    	F[0][0]=1;
    	RFOR1(j,i,N-1,0)
    		if (W[j]=='0')
    			F[i+1][1]=F[i][1],	F[i+1][0]=(F[i][0] + F[i][1])%D;
    		else
    			F[i+1][1]=(F[i][1] +F[i][0])%D,	F[i+1][0]=F[i][0];
    	out<<(int)F[N][0];
    	return ES;
    }

    jte, 20 Июня 2010

    Комментарии (2)
  3. SQL / Говнокод #3513

    −857

    1. 1
    2. 2
    SELECT CONCAT( IF(10>DAY(date),"0",""),DAY(date),".",IF(10>MONTH(date),"0",""),MONTH(date)) as date
    FROM table_name

    Выборка дат из mysql в нормальном виде))

    Aligan, 19 Июня 2010

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

    +98

    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
    procedure TForm1.Timer1Timer(Sender: TObject);  //ПРОБЛЕМА ТУТ
    begin
    sec:=sec-1;
    ShowTime;     //показывать время
    
    If (sec=0) and (min=0) and(chas>0) then
    begin
    chas:=chas-1;
    min:=59;
    sec:=60;
    end;
    
    If (sec=0) and (min>0) and (chas=0) then
    begin
    min:=min-1;
    sec:=60;
    end;
    
    If (sec=0) and (min>0) and (chas>0) then
    begin
    min:=min-1;
    chas:=chas-1;
    sec:=60;
    end;
    
    
    If (chas=0) and (min=0) and (sec=0) then
    begin
    Timer1.Enabled:=false;
    Button1.Enabled:=True;
    Button2.Enabled:=False;
    Edit1.Enabled:=True;
    Edit2.Enabled:=True;
    Edit3.Enabled:=True;
    
    end;
    
    
    
    end;

    Дао создания таймера обратного отсчета.
    Канон первый: устаревшая и неудобная шестидесятиричная система.
    Комментарии и форматирование авторские.

    bugmenot, 08 Июня 2010

    Комментарии (2)
  5. ActionScript / Говнокод #3268

    −87

    1. 1
    if(_smcWindowContent._smcShowOnStartup.contains(_smcWindowContent._smcShowOnStartup._sbtShowHelpOn))_smcWindowContent._smcShowOnStartup.removeChild(_smcWindowContent._smcShowOnStartup._sbtShowHelpOn);

    (c) Tom Wrasseller Flash Lead of Arkadium Games

    dimas_art, 19 Мая 2010

    Комментарии (2)
  6. Java / Говнокод #3265

    +74

    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
    List<String> runningVmIds = new ArrayList<String>( );
        for ( VmInfo runVm : request.getVms( ) ) {
          runningVmIds.add( runVm.getInstanceId( ) );
        }
        for ( String vmId : VmInstances.getInstance( ).getKeys( ) ) {
          if ( runningVmIds.contains( vmId ) ) {
            continue;
          }
          VmInstance vm = null;
          try {
            vm = VmInstances.getInstance( ).lookup( vmId );
            long splitTime = vm.getSplitTime( );
            if ( splitTime > SHUT_DOWN_TIME ) {
              VmInstances.getInstance( ).disable( vm.getName( ) );
              vm.resetStopWatch( );
              vm.setState( VmState.TERMINATED );
              vm.setReason( INSTANCE_EXPIRED );
              SystemState.cleanUp( vm );
            }
          } catch ( NoSuchElementException e ) {}
        }
        
        List<String> knownVmIds = new ArrayList<String>( );
        knownVmIds.addAll( VmInstances.getInstance( ).getKeys( ) );
        if ( knownVmIds.removeAll( runningVmIds ) ) {//<-- active registered vms not reported in describe
          for ( String vmId : knownVmIds ) {
            VmInstance vm = null;
            try {
              vm = VmInstances.getInstance( ).lookup( vmId );
              long splitTime = vm.getSplitTime( );
              if ( splitTime > SHUT_DOWN_TIME ) {
                VmInstances.getInstance( ).disable( vm.getName( ) );
                vm.resetStopWatch( );
                vm.setState( VmState.TERMINATED );
                vm.setReason( INSTANCE_EXPIRED );
                SystemState.cleanUp( vm );
              }
            } catch ( NoSuchElementException e ) {
              /* should never happen, just pulled the key set, if it does ignore it */
            }
          }
        }

    Я, наверно, тупой и ещё мало кофе с утра выпил, но мне кажется, что один из циклов тут явно лишний...

    raorn, 19 Мая 2010

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

    +144

    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
    #include <string>
    #include <iostream>
    #include <cstddef>
    int main() {
    size_t ia;
    ia = sizeof( ia ); // правильно
    ia = sizeof ia; // правильно
    // ia = sizeof int; // ошибка
    ia = sizeof( int ); // правильно
    int *pi = new int[ 12 ];
    cout << "pi: " << sizeof( pi )
    << " *pi: " << sizeof( pi )
    << endl;
    // sizeof строки не зависит от
    // ее реальной длины
    string stl( "foobar" );
    string st2( "a mighty oak" );
    string *ps = &stl;
    cout << " st1: " << sizeof( st1 )
    << " st2: " << sizeof( st2 )
    << " ps: sizeof( ps )
    << " *ps: " << sizeof( *ps )
    << endl;
    cout << "short :\t" << sizeof(short) << endl;
    cout << "shorf" :\t" << sizeof(short*) << endl;
    cout << "short& :\t" << sizeof(short&) << endl;
    cout << "short[3] :\t" << sizeof(short[3]) << endl;
    }

    hromjo, 16 Мая 2010

    Комментарии (2)
  8. PHP / Говнокод #3210

    +144

    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
    function first_me_line($file,$lim=1024) {
    	$h=fopen($file,'r');
    	if($h) {
    		while (!feof($h)) {
    			do {
    				$line=fgets($h,1024);
    			}
    			while ((!feof($h))&&
    			(trim(strip_tags($line))=='')
    			||(strpos(strtolower($line),'<h1>')!==false)
    			||(strpos(strtolower($line),'<h2>')!==false)
    			||(strpos(strtolower($line),'<h3>')!==false)
    			||(strpos(strtolower($line),'<cite>')!==false)
    			||(strpos(strtolower($line),'<code>')!==false)
    			);
    			$line=chop(strip_tags($line));
    			if(strlen($line)>$lim) {
    				$line=substr($line,0,$lim);
    			}
    			fclose($h);
    			return $line;
    		}
    		fclose($h);
    		return '';
    	}
    	return '';
    }

    из того же сайта 8летней давности. здесь - берем первую строку "шедевра" литературы после заголовка и эпиграфа.
    Что бы было понятней:

    <h1>Хулиганство</h1>

    <p class="br">
    А я с Любой был знаком,<br>
    Предложил ей заняться языком.<br>
    А она между делом<br>
    Предложила заняться телом.<br>
    </p>
    <p class="br">
    Вот уже как две недели<br>
    Занимаемся мы пастелью.<br>
    За что, Любовь, тебя люблю,<br>
    Что пишем только ню.<br>
    </p>

    Lure Of Chaos, 12 Мая 2010

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

    +112

    1. 1
    2. 2
    3. 3
    4. 4
    public List<string> GetAllowedActionsOnHistory(UserInfo info, string objectName, string action, bool def) {
          UserManager.Instance.Register(info);
          return StaticFunctions.GetAllowedActions(new ObjectTypesWorker().GetByName("История сотрудника"));
    }

    Получение каких-то прав :-D

    User123, 07 Мая 2010

    Комментарии (2)
  10. Си / Говнокод #3095

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    //Русская рулетка. 7 газовых, один боевой.
     act_rx_session_104(&apdu);
    //      printf ("recv I\n");
    result =        (*((COLLECTORHDLR*)((collector_cfg.pFILLHDL + (unsigned char)apdu.asdu.type)->pHandler)))
    ((HEAD_ASDU_60870*) &apdu.asdu);

    Как то писал под OS Rtems 4.6 протокол 60870-5-104
    эта строчка специально придумывалась как гавно, активизируещее механизм разбора пакета и запуска других механизмов.

    ursus, 23 Апреля 2010

    Комментарии (2)
  11. JavaScript / Говнокод #3085

    +156

    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
    Добавление таблицы; sArray → массив rows[]cells[].
    GrataPressMain.TableAdd = function(o, sColor, sArray)
    {
    	//#region var
    	var iRow = 0;
    	var iMaxRow = 0;
    	var iCell = 0;
    	var iMaxCell = 0;
    	var tableAny;
    	var trAny;
    	var tdAny;
    	//#endregion var
    	tableAny = o.appendChild(document.createElement("table"));
    	tableAny.borderCollapse = "collapse";
    	tableAny.rules = "all";
    	tableAny.style.border = "solid 1px";
    	tableAny.style.width = "100%";
    	iMaxRow = sArray.length - 1;
    	for (iRow = 0; iRow <= iMaxRow; iRow++)
    	{
    		trAny = tableAny.insertRow(iRow);
    		if (iRow == 0) trAny.style.backgroundColor = sColor;
    		iMaxCell = sArray[iRow].length - 1;
    		for (iCell = 0; iCell <= iMaxCell; iCell++)
    		{
    			tdAny = trAny.insertCell(iCell);
    			tdAny.appendChild(document.createTextNode(sArray[iRow][iCell]));
    		}
    	}
    }

    слабо, спрашиваю, сукины дети так добавлять табличку в документ???? и никакой HTML разметки! всё делает чистый яваскрипт. Максим Прохоров знает как писать сайты!

    ursus, 23 Апреля 2010

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