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

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

    +146

    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 <stdio.h>
    # include <math.h>
    # include <conio.h>
    main() {
    int i,n;
    float y[12],a[12],b[12],c[12],d[12],e[12];
    clrscr();
    for (i=1;i<13;i++) {
    printf ("y[%d]= ",i);
    scanf ("%f",&y[i]); }
    //========================================//
    a[1]=y[2]-y[1];a[2]=y[3]-y[2];a[3]=y[4]-y[3];a[4]=y[5]-y[4];
    a[6]=y[7]-y[6];a[7]=y[8]-y[7];a[8]=y[9]-y[8];a[9]=y[10]-y[9];
    a[10]=y[11]-y[10];a[11]=y[12]-y[11];a[12]=0;
    b[1]=a[2]-a[1];b[2]=a[3]-a[2];b[3]=a[4]-a[3];b[4]=a[5]-a[4];
    b[6]=a[7]-a[6];b[7]=a[8]-a[7];b[8]=a[9]-a[8];b[9]=a[10]-a[9];
    b[10]=a[11]-a[10];b[11]=0;b[12]=0;
    c[1]=b[2]-b[1];c[2]=b[3]-b[2];c[3]=b[4]-b[3];c[4]=b[5]-b[4];
    c[6]=b[7]-b[6];c[7]=b[8]-b[7];c[8]=b[9]-b[8];c[9]=b[10]-b[9];
    c[10]=0;c[11]=0;c[12]=0;
    d[1]=c[2]-c[1];d[2]=c[3]-c[1];d[3]=c[4]-c[3];d[4]=c[5]-c[4];
    d[6]=c[7]-c[6];d[7]=c[8]-c[7];d[8]=c[9]-c[8];d[9]=0;d[10]=0;d[11]=0;d[12]=0;
    e[1]=d[2]-d[1];e[2]=d[3]-d[2];e[3]=d[4]-d[3];e[4]=d[5]-d[4];
    e[6]=d[7]-d[6];e[7]=d[8]-d[7];e[8]=0;e[9]=0;e[10]=0;e[11]=0;e[12]=0;
    printf ("Y\t\tY\t\tY2\t\tY3\t\tY4\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n",y[1],a[1],b[1],c[1],d[1],y[2],a[2],b[2],c[2],d[2],y[3],a[3],b[3],c[3],d[3],y[4],a[4],b[4],c[4],d[4],y[5],a[5],b[5],c[5],d[5],y[6],a[6],b[6],c[6],d[6],y[7],a[7],b[7],c[7],d[7],y[8],a[8],b[8],c[8],d[8],y[9],a[9],b[9],c[9],d[9],y[10],a[10],b[10],c[10],d[10],y[11],a[11],b[11],c[11],d[11],y[12],a[12],b[12],c[12],d[12]);
    
    getche();
    }

    Работа с массивами.

    Proger, 06 Февраля 2011

    Комментарии (18)
  3. C# / Говнокод #5501

    +127

    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
    class TStopThreadWaiter
    	{
    		public static void Wait(Thread threadWaitededForStop)
    		{
    			var threadName = threadWaitededForStop.GetType().Name;
    			if (!threadWaitededForStop.Join(1000))
    			{
    				TErrorShower.ShowOnceIfAgree("Неудаёться остановить " + threadName + " поток. Будут предприняты попытки внештатной остановки.");
    				if (!threadWaitededForStop.Join(200))
    					threadWaitededForStop.Interrupt();
    				if (!threadWaitededForStop.Join(200))
    				{
    					TErrorShower.ShowOnceIfAgree(threadName + " поток не удалость остановить принудительно через Interrupt. Предпринимаю попытку принудительной остановки через Abort.");
    					threadWaitededForStop.Abort();
    					if (!threadWaitededForStop.Join(200))
    					{
    						TErrorShower.ShowOnceIfAgree(threadName + " поток не удалость остановить принудительно через Abort. Завершаем приложение.");
    						Application.Exit();
    					}
    				};
    			};
    		}
    	}

    Говногость, 03 Февраля 2011

    Комментарии (18)
  4. Assembler / Говнокод #5500

    +263

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    :start
    call lol
    jmp start
    
    :lol
    push 9
    ret
    
    :test
    ...

    Не очевидная альтернатива jmp test

    rofl, 02 Февраля 2011

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

    +184

    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
    $multiplier = 1.15;
    $allowedLen = 56;
    echo 
    	(
    		(
    			(
    				$allowedLen - 
    				(
    					strlen($resSingle->name) * $multiplier
    				)
    			) > 0
    		) ?
    		(
    			(
    				isset
    				(
    					$resSingle->address
    					[
    						$allowedLen - 
    						(
    							strlen($resSingle->name) * $multiplier
    						)
    					]
    				) ?
    				(
    					' - ' . substr
    					(
    						$resSingle->address , 0 , $allowedLen - 
    						(
    							strlen($resSingle->name) * $multiplier
    						)
    					) .
    					'...'
    				) :
    				(
    					' - ' . $resSingle->address
    				)
    			)
    		) :
    		(
    			''
    		)
    	);

    Here's my string formatting echo. Name is upper case and address is lowercase. I needed to echo this information, and the rows should be with ~equal length. Enjoy!

    wyand, 17 Января 2011

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

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    $e=mysql_fetch_assoc(mysql_query(" select * from conf_news where razdel='{$_GET["kind"]}' AND pub='yes' order by `date` desc limit 1 ")) ;
    $max_year=substr($e["date"],0,4);
    $e=mysql_fetch_assoc(mysql_query(" select * from conf_news where razdel='{$_GET["kind"]}' AND pub='yes' order by `date` limit 1 ")) ;
    $min_year=substr($e["date"],0,4);

    Как определить минимальную и максимальную дату в списке новостей? А вот как!
    Да, кстати, $_GET нигде не проверяется на SQL-инъекцию.

    (с) разработка под названием "CMS9"

    may_cat, 24 Декабря 2010

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

    +173

    1. 1
    #define arrVec[2].realVectorInfo.Count 5

    Мало того, что встретил это в проекте, доставшемся от "предков", так ведь и MSVS 6.0 проглатывает.
    Выражение arrVec[2].realVectorInfo.Count успешно заменялось на 5.
    Заметил подставу после появления строки arrVec[i].realVectorInfo.Count в проекте, в результате рефакторинга.

    Говногость, 20 Декабря 2010

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

    +173

    1. 1
    if(!file_exists(getenv('SCRIPT_FILENAME'))) die('File not found)';

    Нет, ну а вдруг?!

    Flazher, 19 Декабря 2010

    Комментарии (18)
  9. PHP / Говнокод #4957

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    //Предосмотр
                $pre = '';
            if (1==1) {
                $prev_pic = str_replace('/', '--', iconv_substr(strstr($v['path'], '/'), 1));
    }

    ===ЗАГРУЗ-ЦЕНТР===
    # Автор : Sea
    # E-mail : [email protected]
    # ICQ : 355152215
    # Вы не имеете права распространять данный скрипт
    # По всем вопросам пишите в ICQ
    файл - search.php, строка 143

    4ibo, 17 Декабря 2010

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

    +168

    1. 1
    var this_id = this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.id.split('_')[1];

    Нашел такой код, минуты 2-е пытался понять что это такое, новые фичи прототайпа или я что-то пропустил в это жизни?

    vasya1, 15 Декабря 2010

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

    +166

    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
    JNIEXPORT jstring JNICALL _Java_com_fl_nat_Status_listProcessess0(JNIEnv *env, jobject obj) {
        char format[1024*128];
        char name[128];
        
        unsigned long procs[1024], needed, ret;
        if(!EnumProcesses(procs, sizeof(procs), &needed)) return (*env)->NewStringUTF(env, "");
    
        ret = needed / sizeof(unsigned long);
        unsigned int i = 0;
        for(; i < ret; i++) {
            if(procs[i] == 0) continue;
    
            HANDLE hproc = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, 0, procs[i]);
            GetModuleBaseName(hproc, 0, name, 128);
    
            strncat(format, name, strlen(name));
            strncat(format, ",", 1);
            sprintf(name, "%i", procs[i]);
            strncat(format, name, strlen(name));
            strncat(format, ";", 1);
    
            CloseHandle(hproc);
        }
    
        return (*env)->NewStringUTF(env, format);
    }

    к говнокоду №4685

    итак, эта программа (JNI на C++ и "клиентская" часть на Java) создают список процессов таким извращенным образом:
    C++ создает строку вида "имяпроцесса1,идпроцесса1;имяпроцесса2,и дпроцесса2;", после чего жабо-код парсит эту строку, переводя её в массив обьектов SystemProcess

    danilissimus, 19 Ноября 2010

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