1. Си / Говнокод #5418

    +137

    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
    #include <stdio.h>
    #include <math.h>
    
    int main()
    {
        double i = 9;
        i = fabs( i/2 );
        while ( --i > 0 );
        printf("\n %f \n", i);
        if ( i == 0 )
            printf ("1\n");
        else if ( i == -0.5 )
            printf ("2\n");
        else
            printf ("3\n");
    }

    "Как определить четность числа типа real (т.е., нецелочисленный тип), без приведения к целому типу и использования остатка целочисленного деления?" Поржав над вопросом, выдавил из себя такое

    rat4, 27 Января 2011

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

    +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
    b1=100+(int)(255.0*rand()/(RAND_MAX+100.0));
    b2=100+(int)(255.0*rand()/(RAND_MAX+100.0));
    b3=100+(int)(255.0*rand()/(RAND_MAX+100.0));
    b4=100+(int)(255.0*rand()/(RAND_MAX+100.0)); if(b1>255)
    sprintf(b1s,"%d",b1);
    sprintf(b2s,"%d",b2);
    sprintf(b3s,"%d",b3);
    sprintf(b4s,"%d",b4);
    strcat(b1s,".");
    strcat(b2s,".");
    strcat(b3s,".");
    strcat(b1s,b2s);
    strcat(b1s,b3s);
    strcat(b1s,b4s);
    iph->ip_src.s_addr = inet_addr (b1s);

    Some firewalls, such as ZoneAlarm Pro, detect SYN Flood and block the source IP address (see Figure 1). So we need to assign our spoofed source IP address a random number as shown below:

    http://linux.sys-con.com/node/34589

    вот какой шедевр откопал

    danilissimus, 26 Января 2011

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

    +104

    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
    switch (sum_l)
    		{
    			case 0x00: sum_l = '0'; break;
    			case 0x01: sum_l = '1'; break;
    			case 0x02: sum_l = '2'; break;
    			case 0x03: sum_l = '3'; break;
    			case 0x04: sum_l = '4'; break;
    			case 0x05: sum_l = '5'; break;
    			case 0x06: sum_l = '6'; break;
    			case 0x07: sum_l = '7'; break;
    			case 0x08: sum_l = '8'; break;
    			case 0x09: sum_l = '9'; break;
    			case 0x0A: sum_l = 'A'; break;
    			case 0x0B: sum_l = 'B'; break;
    			case 0x0C: sum_l = 'C'; break;
    			case 0x0D: sum_l = 'D'; break;
    			case 0x0E: sum_l = 'E'; break;
    			case 0x0F: sum_l = 'F'; break;
    		}
    
    		switch (sum_h)
    		{
    			case 0x00: sum_h = '0'; break;
    			case 0x01: sum_h = '1'; break;
    			case 0x02: sum_h = '2'; break;
    			case 0x03: sum_h = '3'; break;
    			case 0x04: sum_h = '4'; break;
    			case 0x05: sum_h = '5'; break;
    			case 0x06: sum_h = '6'; break;
    			case 0x07: sum_h = '7'; break;
    			case 0x08: sum_h = '8'; break;
    			case 0x09: sum_h = '9'; break;
    			case 0x0A: sum_h = 'A'; break;
    			case 0x0B: sum_h = 'B'; break;
    			case 0x0C: sum_h = 'C'; break;
    			case 0x0D: sum_h = 'D'; break;
    			case 0x0E: sum_h = 'E'; break;
    			case 0x0F: sum_h = 'F'; break;
    		}

    p.s. true story.
    пока сам не увидел, был уверен, что такого не бывает.

    10199, 24 Января 2011

    Комментарии (59)
  4. Си / Говнокод #5299

    +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
    29. 29
    30. 30
    31. 31
    32. 32
    #include <stdio.h>
    
    #define BELL '\a'
    #define TACT {for (i = 0; i < 100000000; i++) ;}
    #define HALFTACT {for (i = 0; i < 20000000; i++) ;} 
    
    int main ()
    {
    	int i;
    	putchar(BELL);
    	TACT;
    	putchar(BELL);
    	TACT;
    	putchar(BELL);
    	HALFTACT
    	putchar(BELL);
    	HALFTACT
    	putchar(BELL);
    	TACT;
    	putchar(BELL);
    	HALFTACT;
    	putchar(BELL);
    	HALFTACT;
    	putchar(BELL);
    	HALFTACT;
    	putchar(BELL);
    	TACT;
    	putchar(BELL);
    	HALFTACT;
    	putchar(BELL);
    	return 0;
    }

    Ну хоть что-то автоматизировал...

    dwinner, 16 Января 2011

    Комментарии (76)
  5. Си / Говнокод #5287

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    int getRandomNumber()
    {
        return 4;   // chosen by fair dice roll.
                    // guaranteed to be random.
    }

    Sony PlayStation 3
    http://www.youtube.com/watch?v=LP1t_pzxKyE (4:13)

    Altravert, 15 Января 2011

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

    +145

    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
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    /* 
     * Тема: "Двумерные массивы"
     * Разработать программу для решения указанной ниже задачи.
     * Поиск строк или столбцов и преобразование матрицы оформить в виде подпрограммы.
     * Глобальные переменные не использовать.
     * В заданной матрице поменять местами столбцы, содержащие следующие элементы:
     * первый четный и последний нечетный.
     */
    #include <stdio.h>
    
    void raschet(int a[][20], int size, int *key) {
    	/*******************************************
    	 * Поиск столбцов и преобразование матрицы */
    	int i, j;							/* Индексы массива */
    	int buffer;							/* Временное место для копирования элементов столбца */
    	int first, second;					/* Первый и второй столбцы удовлетворяющие условию соответственно */
    	int flag = 1;						/* Переключатель найденых столбцов */
    	*key = 0;							/* Обнулить сообщение для главной программы о выполнении условия */
    	
    	
    	for(j=0; j<size; j++)						/* Перебор столбцов	*/
    		if(a[0][j]%2==0 && a[size-1][j]%2!=0) {	/* Если найден удовлетворяющий условию столбец	*/
    			if(flag == 1) {						/* Если найден первый столбец */
    				first = j;						/* Записать его положение в first */
    				flag = 2;						/* В случае нахождения след. столбца выполнится след. else if */
    				*key = 1;						/* Сообщить главной программе что найден 1 столбец уд. усл. */
    			}
    			else if(flag == 2) {				/* Если найден второй */
    				second = j;						/* Записать его положение в second */		
    				*key = 2;						/* Сообщение для главной программы о выполнении условия задачи */
    				for(i=0; i<size; i++) {			/* Перебор элементов столбцов*/
    					buffer=a[i][first];			/* Элемент столбца first копируется в buffer  */
    					a[i][first]=a[i][second];	/* Элемент столбца second копируется вместо эл-та first */
    					a[i][second]=buffer;		/* Элемент из buffer копируется в столбец second */
    				}
    				first = j;						/* Записать положение текущего столбца в first */
    			}
    		}		
    }	
    void main() {
    	int key;							/* Сообщение для главной программы о выполнении условия */
    	int i, j;							/* Индексы элементов масcивов */
    	int size = 8;							/* Размерность массива(матрицы) */ 
    	/***************
    	 * Ввод данных */
            int a[20][20] = {
                    {1, 2, 3, 4, 6, 8, 7, 2},
                    {1, 2, 3, 4, 1, 1, 2, 3},
                    {1, 2, 3, 4, 5, 3, 3, 3},
                    {2, 5, 7, 9, 3, 1, 2, 3},
                    {2, 5, 7, 9, 3, 1, 2, 3},
                    {2, 5, 7, 9, 3, 1, 2, 3},
                    {2, 5, 7, 9, 3, 1, 2, 3},
                    {2, 5, 7, 9, 3, 5, 2, 9}
            };  
    	/*************************
    	 * Вывод исходных данных */
    	system("cls");
    	printf("В заданной матрице поменять местами столбцы, содержащие следующие элементы:\n");
    	printf("первый четный и последний нечетный.\n");
    	printf("\nИсходная матрица имеет вид:\n");
    	for(i=0; i<size; i++) {
    		for (j=0; j<size; j++)
    			printf("%5d", a[i][j]);
    			printf("\n");
    	}
    	raschet(a, size, &key);				/* Функция поиска столбцов и преобразования матрицы */
    	/*********************
    	 * Вывод результата */ 	
    	if(key == 0)
    		printf("\nСтолбцов удовлетворяющих условию не найдено.");
    	else if(key == 1)
    		printf("\nНайден только один столбец удовлетворяющий условию.");
    	else {
    		printf("\nРезультирующая матрица имеет вид:\n");
    		for(i=0; i<size; i++) {
    			for (j=0; j<size; j++)
    			printf("%5d", a[i][j]);
    			printf("\n");
    		}
    	}
    	printf("\n\n");
    	printf("Конец!\n");
    	system("PAUSE");
    }

    http://ideone.com/3Qa2n оно выполняется !
    что тут говно, а что стерильно ?

    diimdeep , 12 Января 2011

    Комментарии (0)
  7. Си / Говнокод #5220

    +130

    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
    char unsigned c;
    DWORD m;
    DWORD n;
    int i = 0;
    BOOL b = TRUE;
    
    HANDLE hFile = CreateFile(szFile, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
    if (hFile == INVALID_HANDLE_VALUE) 
    { 
    	printf("Could not open File");
    	return NULL;
    } 
    // узнаем размер файла
    while (b)
    {
    	b = ReadFile(hFile, &c, 1, &m, NULL);
    	if (m == 0)
    	{
    		printf("STOP ");
    		printf("%i\n", i);
    		break;
    	}
    	i++;
    }

    собственно узнаем размер файла, что тут еще скажешь)

    dIsoVi, 11 Января 2011

    Комментарии (34)
  8. Си / Говнокод #5186

    +125

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    int function(void) {
        static int i, state = 0;
        switch (state) {
            case 0: /* start of function */
            for (i = 0; i < 10; i++) {
                state = 1; /* so we will come back to "case 1" */
                return i;
                case 1:; /* resume control straight after the return */
            }
        }
    }

    Нестандартное применение свитча.
    Тут оно нафиг не нужно.
    Источник: http://www.gamedev.ru/code/forum/?id=142536

    TarasB, 09 Января 2011

    Комментарии (83)
  9. Си / Говнокод #5176

    +134

    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
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    void epilog()
    {  
    	fprintf(fvih,"\tINCLUDE\tstd.asm\n");
    	fprintf(fvih,"_KOM\tENDS\n");
    	fprintf(fvih,"_STEK\tSEGMENT USE16\tSTACK\n");
    	fprintf(fvih,"\tDW\t100 DUP (?)\n");
    	fprintf(fvih,"_DNOST\tDW\t?\n");
    	fprintf(fvih,"_STEK\tENDS\n");
    	if (kolglb > 0) {  
    		fprintf(fvih,"_DAN\tSEGMENT USE16\n");
    		for (i = 1; i <= kolglb; i++)
    			if (tabim[i].vidob == 1)      /* пеpеменная */
    				if (tabim[i].typ == int_t)
    					fprintf(fvih,"%s\tDW\t?\n",tabim[i].imja);
    				else
    					fprintf(fvih,"%s\tDD\t?\n",tabim[i].imja);
    		fprintf(fvih,"_DAN\tENDS\n");
    	}
    	if (est6_main)
    		fprintf(fvih,"\tEND\t_main\n");
    	else fprintf(fvih,"\tEND\n");
    	fprintf(fvih,";Компилятоp С0 от 9/10/92:\n;колич. ошибок %d\n",kolosh);	
    	printf("Компилятоp С0 от 9/10/92:\nколич. ошибок %d\n",kolosh);
    }
    
         /**********************************************/
         /*             Основная пpогpамма             */
         /**********************************************/
    int main(int agrc, char *argv[])
    {  
    	int i;
    	for (i=0; i<=255; i++) leksim[i]=osh;
    	leksim['+']=plus;  leksim['-']=minus;  leksim['*']=umn;
    	leksim['/']=del;   leksim['%']=ost;    leksim['=']=prisv;
    	leksim['<']=men;   leksim['>']=bol;    leksim['(']=lskob;
    	leksim[')']=pskob; leksim['{']=flskob; leksim['}']=fpskob;
    	leksim[',']=zpt;   leksim[';']=tchzpt; 
    
        /* множество начальных лексем выpажения */
    	nvir = st2[ident] | st2[chislo] | st2[minus] | st2[lskob];
    
    	/* мн-во нач-х лексем оп-pа */
    	noper = st2[flskob] | st2[ifsl] | st2[whilesl] | st2[retsl] | st2[tchzpt] | st2[dosl] | nvir; 
    	vhstr[0]=' '; 
    	vhstr[1]='\0'; 
    	usim = vhstr;kolglb =kolim =ef =	tipop =est6_main =kolosh =kmet =0;
    	is_leave_old = false;
    	fvh=fopen("C://p.c0","r");
    	//fvh=fopen(argv[1],"r");            /* откpыть входной файл  */
    	fvih=fopen("C://p.asm","w"); 
    	//fvih=fopen(argv[2],"w");          /* откpыть выходной файл */
    	if ((fvh == NULL) || (fvih == NULL))
    		oshibka(8);                      /*  файлы не откpылись */
    	else {
    		prolog();
    		while (!ef) {
    			chleks();
    			if (leksema == intsl) {              /* слово int        */
    				opisper(0); 
    				kolglb=kolim; 
    			}/*описание глоб-х пер-х*/
    			else if (leksema == longsl) {              /* слово int        */
    				opisper_long(0); 
    				kolglb=kolim; 
    			}/*описание глоб-х пер-х*/
    			else if (leksema == ident)      /* имя                 */
    				oprfun();                  /* опpеделение функции */
    			else if (!ef)    /* тpебуется опис-е пеp-х или ф-ции */
    				test(st2[intsl] | st2[ident],st2[pskob] | st2[tchzpt],3);
    		}
    		epilog();
    		fclose(fvh);
    	    fclose(fvih);
    	}
    	return 0;
    }

    qbasic, 07 Января 2011

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

    +123

    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
    //********henry+ disable battery command after select disable battery, 2010.8.5 add bypass more command when EC FW update
    if (iflag_disabel_battery==1 
            && pRequest->RequestType == NvEcRequestResponseType_Battery
            && pRequest->RequestType == NvEcRequestResponseType_System
            && pRequest->RequestType == NvEcRequestResponseType_Gpio
            && pRequest->RequestType == NvEcRequestResponseType_Sleep
            && pRequest->RequestType == NvEcRequestResponseType_Keyboard
            && pRequest->RequestType == NvEcRequestResponseType_AuxDevice){
            //NvOsDebugPrintf("Henry: disable Battery command request! \n");
            //return NvSuccess-1;
            return NvSuccess; //2010.6.29 fix EC TimeOut
    }
    //***********************************************************************************************

    Генри хуйни не сделает!

    muromec, 06 Января 2011

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