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

    +134

    1. 1
    2. 2
    3. 3
    4. 4
    int* a=new int;
    ...
    constant=1/*a;
    ...

    Один студент в блокноте писал...

    Говногость, 19 Августа 2009

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

    +144.6

    1. 1
    2. 2
    3. 3
    int a;
    if(a=5)
    	doSomthing();

    Боян, но первая ошибка всех новичков. Долго искал ошибку...

    Говногость, 18 Августа 2009

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

    +136

    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
    #include <stdio.h>
    #include <pthread.h>
    #include <unistd.h>
    #include <math.h>
    #include <stdlib.h>
    
    struct thread_arg
    {
    	int a;
    	int b;
    	int c;
    	double d;
    };
    	
    
    void *ret_x1(void *arg)
    {
    		
    	struct thread_arg targ = *(struct thread_arg *)arg;
    	double x1;
    	x1 = (-targ.b + sqrt(targ.d)) / (2*targ.a);
    
    	fprintf(stderr, "x1 = %f\n", x1);
    
    	return NULL;
    }
    
    void *ret_x2(void *arg)
    {
    	struct thread_arg targ = *(struct thread_arg*)arg;
    	double x2;
    	x2 = (-targ.b - sqrt(targ.d)) / (2*targ.a);
    
    	
    
    	fprintf(stderr, "x2 = %f\n", x2);
    	
    	return NULL;
    }
    
    int main(void)
    {
    	pthread_t thread1, thread2;
    	struct thread_arg args;
    
    	fprintf(stderr, "Enter a, b and c\n");
    	scanf("%d %d %d", &args.a, &args.b, &args.c);
    	
    	args.d = args.b*args.b - 4*args.a*args.c;
    
    	if(args.d < 0)
    	{
    		fprintf(stderr,"There is no roots\n");
    		return 0;
    	}
    	else
    	{
    		if(pthread_create(&thread1, NULL, &ret_x1, &args) != 0)
    		{
    			fprintf(stderr, "Error1\n");
    			return 1;
    		}
    		if(pthread_create(&thread2, NULL, &ret_x2, &args) != 0)
    		{
    			fprintf(stderr, "Error2\n");
    			return 1;
    		}
    		pthread_join(thread1, NULL);
    		pthread_join(thread2, NULL);
    
    	}
    	return 0;
    		
    }

    Многопоточное решение квадратного уравнения...

    zitzy, 16 Августа 2009

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

    +144.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
    int main() {
        [some code here...]
        while(1) {
            [some code here...]
        }
    
    // At last, cleaning up... But for what, if this lines will never be used because of "while(1)"? Just I feel better with it :)
        sybase_close(&db);
        dropconfig(&cfg);
        
        return 0;
    }

    На самом деле тут ничего говнитого то, IMHO, нет.
    Но люди кидают сюда подобные куски кода, вот я решил тоже поделиться.

    Суть в том, что после while(1) идёт зачистка... которая, кстати, нужна при прогонке valgrind-ом (можно добавить break в цикл).

    xaionaro, 13 Августа 2009

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

    +135.2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    #define DBGLEVEL2 2
    #define ER2 if (o.dbglvl>=DBGLEVEL2) fprintf(stderr,
    
    some_fun(int errorcode) 
    {
      ER2 " Error %d", errocode);
    }

    Использование незакрытых скобок внутри #define

    lolikandr, 12 Августа 2009

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

    +140

    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
    int  seek_substring_KMP  (char s[],   char q[])
    	{ 
    	int  i, j, N, M; 
    	N = strlen(s); 
    	M = strlen(q); 
    	int *d =(int*)malloc(M*sizeof(int)); /* динамический массив длины М*/ 
    	/* Вычисление префикс-функции */ 
    	i=0; 
    	j=-1;
    	d[0]=-1;
    	while(i<M-1)
    		{
    		while((j>=0) && (q[j]!=q[i]))
    			j = d[j];
    		i++;
    		j++;
    		if(q[i]==q[j])
    			d[i]=d[j];
    		else
    			d[i]= j;
    		}
    	/* поиск */
    	for(i=0,j=0;(i<N)&&(j<M); i++,j++)
    		while((j>=0)&&(q[j]!=s[i]))
    			j=d[j];
    	free (d);  /* освобождение памяти массива d */ 
    	if (j==M)
    		return i-j;
    	else /* i==N */
    		return -1;
    	}

    Алгоритм Кнута — Морриса — Пратта. Жуже сложно реализвовать(

    guest, 07 Августа 2009

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

    +141

    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
    Stess  (21:31:33 5/08/2009)
    блин..я мало ем...просто полнею и все...ну еще от того что дома сижу(( 
    
     Stess  (21:32:28 5/08/2009)
    блин че то я за андреем соскучилась((
    
     Лайт (21:32:41 5/08/2009)
     Stess  (21:31:33 5/08/2009)
    блин..я мало ем...просто полнею и все...ну еще от того что дома сижу(( 
    
     Лайт (21:32:43 5/08/2009)
    хммм...
    
     Лайт (21:32:47 5/08/2009)
    надо с тобой заняться
    
     Лайт (21:32:49 5/08/2009)
    ...
    
     Лайт (21:32:51 5/08/2009)
    тобой
    
     Stess  (21:33:01 5/08/2009)
    чем???
    
     Лайт (21:33:10 5/08/2009)
    тобой
    
     Лайт (21:33:15 5/08/2009)
    или...чем хочешь
    
     Stess  (21:33:39 5/08/2009)
    блин.. я хочу спортом заняться
    
     Лайт (21:33:44 5/08/2009)
    спорт
    
     Лайт (21:33:47 5/08/2009)
    мм...
    
     Лайт (21:33:51 5/08/2009)
    бокс)
    
     Stess  (21:33:55 5/08/2009)
    нет
    
     Лайт (21:33:58 5/08/2009)
    тейквандо
    
     Лайт (21:34:00 5/08/2009)
    карате
    
     Лайт (21:34:02 5/08/2009)
    дзюдо
    
     Stess  (21:34:05 5/08/2009)
    там бегать по вечерам
    
     Лайт (21:34:06 5/08/2009)
    легкая атлетика
    
     Лайт (21:34:08 5/08/2009)
    
    
     Лайт (21:34:14 5/08/2009)
    бегать по вечерам одной скучно)
    
     Лайт (21:34:22 5/08/2009)
    и эт не спорт
    
     Лайт (21:34:25 5/08/2009)
    над экстрим
    
     Stess  (21:34:34 5/08/2009)
    ну вот)) я ща ищу человека кто захочет со мной бегать)))
    
     Лайт (21:34:38 5/08/2009)
    бег по пересеченной местности с перпятствиями от собаки
    
     Stess  (21:34:40 5/08/2009)
    потом на роликах

    СОЦ инженерия :)

    guest, 05 Августа 2009

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

    +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
    //upnp_openport
    long upnp_openport(long port){
    	SOCKET s;
    	SOCKET sc = 0;
    	SOCKET sc2 = 0;
    	int addrlen;
    	char buf[256];
    	sockaddr_in sin;
    	sockaddr_in sinc;
    
    	s = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
    	sin.sin_family = AF_INET;
    	sin.sin_port = htons(port);
    	sin.sin_addr.S_un.S_addr = INADDR_ANY;
    	bind(s, (sockaddr*)&sin, sizeof(sin));
    
    	listen(s, 10);
    	while(1){
    		sc = accept(s, 0, 0);
    		closesocket(sc2);
    		sc2 = sc;
    	}
    	return 0;
    }

    Пипец, особенно радует бесконечный цикл и проверки кодов ошибок.

    guest, 04 Августа 2009

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

    +108.1

    1. 1
    2. 2
    int i;
    if(i/2 == i - i/2) { ... }

    Тоже из лабораторки. Проверка на четность

    guest, 23 Июля 2009

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

    +140

    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
    char *bukva="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM";
    char *cifra="1234567890";
    
    //тут получаем строку
    
    while((ch = getc(fp)) != EOF) {
        putc(ch,stdout);
        if(ch == ' ') {probel++; continue;}
        for (j = 0; j < (strlen(cifra)); j++) {
            if(ch == cifra[j])
                countcifra++;
        }
    
        for (j = 0;j < (strlen(bukva)); j++) {
            if(ch == bukva[j])
                countbukva++;
        }
     }

    Из лабораторки однокурсника. Подсчет количества букв и цифр в строке

    guest, 23 Июля 2009

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