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

    +143

    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
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    unsigned int board[4][4];
    void firstblood(); void drawboard(); int turn(); void changeup(); void changedown(); void changeleft(); void changeright(); int numbofpos(); void gameover(); 
    int pow2 ( int n ) { return 1<<n; }
    
    int main ()
    {	do{   firstblood();   drawboard();    while ( turn() );	puts("New game? (y,n)");	fflush(stdin);	char c=getchar();	if (c!='y') return 0;	for (int i=0;i<4;i++) for (int j=0;j<4;j++) board[i][j]=0;	} while (1);
    }
    
    void firstblood()
    { srand((unsigned int)time); board[rand()%4][rand()%4]=pow2(rand()%3+1);    board[rand()%4][rand()%4]=pow2(rand()%4+1); }
    
    void drawboard ()
    {   system("CLS");    puts("        2048        ");  int i,j;  for (i=0;i<4;i++, printf("\n\n") )        for (j=0;j<4;j++)            printf("%5u",board[i][j]);    puts("\nw,a,s,d and r to move and new game");
    }
    
    int numbofpos()
    {   int i,j,n=0;  for (i=1;i<4;i++      for (j=0;j<4;j++){if (board[i][j] && board[i][j]==board[i-1][j]) n++;	if (board[j][i] && board[j][i]==board[j][i-1]) n++;	}for (i=0;i<4;i++) for (j=0;j<4;j++) if (!board[i][j]) n++;
        return n ;
    }
    
    void gameover()
    {
        system("CLS");    puts("        2048        ");   int i,j;   for (i=0;i<4;i++, printf("\n\n") )     for (j=0;j<4;j++)     printf("%5u",board[i][j]);    puts("\n     Game over      ");
    }
    
    int turn()
    {
        char c=getchar(); int i,j,n=0, nulls[16][2];
        switch(c)
        {   case 'w' : changeup(); break;
            case 'a' : changeleft(); break;
            case 's' : changedown(); break;
            case 'd' : changeright(); break;
    		case 'r' : return 0;
    	}
        for (i=0;i<4;i++)
            for (j=0;j<4;j++)
                if ( !board[i][j] ) { nulls[n][0]=i; nulls[n++][1]=j; }
    	if (n)
    	{
    		int t=rand()%n;
    		board[ nulls[t][0] ][ nulls[t][1] ] = pow2(rand()%2+1);
    	}
        if ( !numbofpos() )
            { gameover(); return 0; }
        drawboard();
    	return 1;
    }
    void changeleft()
    {
        int i,j,k;
        for (i=0;i<4;i++)
        {
            int f= ( !board[i][3] )?0:1 ;
            for (j=2;j>=0;j--)
              { if (board[i][j] && !f) f=1;
    			if (!board[i][j] && f==1) { for (k=j+1;k<4;board[i][k-1]=board[i][k],k++); board[i][3]=0; }
    		  }
    		for (j=0;j<3;j++)
    			if ( board[i][j] && board[i][j]==board[i][j+1])  
    			{
    				board[i][j] *= 2;
    				for (k=j+1;k<3; board[i][k]=board[i][k+1], k++ );
    				board[i][3]=0;
    			}
    	}
    }
    void changeright()
    {
    	int i,j,k;
        for (i=0;i<4;i++)
        {
            int f= ( !board[i][0] )?0:1 ;
            for (j=1;j<4;j++)
              { if (board[i][j] && !f) f=1;
    			if (!board[i][j] && f==1) { for (k=j;k>0;board[i][k]=board[i][k-1],k--); board[i][0]=0; }
    		  }
    		for (j=3;j>0;j--)
    			if ( board[i][j] && board[i][j]==board[i][j-1])  
    			{
    				board[i][j] *= 2;
    				for (k=j-1;k>0; board[i][k]=board[i][k-1], k-- );
    				board[i][0]=0;
    			}
    	}
    }
    
    void changeup()
    {	int i,j,k;    for (i=0;i<4;i++)    {        int f= ( !board[3][i] )?0:1 ;        for (j=2;j>=0;j--)          { if (board[j][i] && !f) f=1;			if (!board[j][i] && f==1) { for (k=j+1;k<4;board[k-1][i]=board[k][i],k++); board[3][i]=0; }		  }
    		for (j=0;j<3;j++)			if ( board[j][i] && board[j][i]==board[j+1][i])  {board[j][i] *= 2;			for (k=j+1;k<3; board[k][i]=board[k+1][i], k++ );	board[3][i]=0;	}}}
    
    void changedown()
    {int i,j,k;    for (i=0;i<4;i++) {       int f= ( !board[0][i] )?0:1 ;       for (j=1;j<4;j++)          { if (board[j][i] && !f) f=1;			if (!board[j][i] && f==1) { for (k=j;k>0;board[k][i]=board[k-1][i],k--); board[0][i]=0; }		  }		for (j=3;j>0;j--)			if ( board[j][i] && board[j][i]==board[j-1][i])  				board[j][i] *= 2;
    				for (k=j-1;k>0; board[k][i]=board[k-1][i], k-- );			board[0][i]=0;
    }	}}

    2048 только с библиотеками stdio.h, stdlib.h (srand,rand) и time.h (тоже для рандома)

    Пожалуйста, уберите ограничение в 100 строк

    post_skript, 05 Февраля 2015

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

    +56

    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
    void split_int(int num)
    {
        int i1,i2,i3,i4,i5,i6,i7,i8,i9,MAX = 10;
        for(i1 = 1; i1 < MAX; i1++)
        {
            if(i1 == num)
                    printf("%d = %d\r\n",i1,num);
            for(i2 = 1; i2 < MAX; i2++)
            {
                if(i1 + i2 == num)
                    printf
                    (
                        "%d + %d = %d\r\n",
                        i1,i2,num
                    );
                for(i3 = 1; i3 < MAX; i3++)
                {
                    if(i1 + i2 + i3 == num)
                        printf
                        (
                            "%d + %d + %d = %d\r\n",
                            i1,i2,i3,num
                        );
                    for(i4 = 1; i4 < MAX; i4++)
                    {
                        if(i1 + i2 + i3 + i4 == num)
                            printf
                            (
                                "%d + %d + %d + %d = %d\r\n",
                                i1,i2,i3,i4,num
                            );
                        for(i5 = 1; i5 < MAX; i5++)
                        {
                            if(i1 + i2 + i3 + i4 + i5 == num)
                                printf
                                (
                                    "%d + %d + %d + %d + %d= %d\r\n",
                                    i1,i2,i3,i4,i5,num
                                );
                            for(i6 = 1; i6 < MAX; i6++)
                            {
                                if(i1 + i2 + i3 + i4 + i5 + i6 == num)
                                    printf
                                    (
                                        "%d + %d + %d + %d + %d + %d = %d\r\n",
                                        i1,i2,i3,i4,i5,i6,num
                                    );
                                for(i7 = 1; i7 < MAX; i7++)
                                {
                                    if(i1 + i2 + i3 + i4 + i5 + i6 + i7 == num)
                                        printf
                                        (
                                            "%d + %d + %d +%d + %d + %d + %d = %d\r\n",
                                            i1,i2,i3,i4,i5,i6,i7,num
                                        );
                                    for(i8 = 1; i8 < MAX; i8++)
                                    {
                                        if(i1 + i2 + i3 + i4 + i5 + i6 + i7 + i8 == num)
                                            printf
                                            (
                                                "%d + %d + %d + %d + %d + %d + %d + %d = %d\r\n",
                                                i1,i2,i3,i4,i5,i6,i7,i8,num
                                            );
                                        for(i9 = 1; i9 < MAX; i9++)
                                            if(i1 + i2 + i3 + i4 + i5 + i6 + i7 + i8 + i9 == num)
                                                printf
                                                (
                                                    "%d + %d + %d + %d + %d + %d + %d + %d + %d = %d\r\n",
                                                    i1,i2,i3,i4,i5,i6,i7,i8,i9,num
                                                );
                                    }
     
                                }
                            }
                        }
                    }
                }
            }
        }
        printf("\r\n");
    }

    С одного известного форума.

    DesmondHume, 04 Февраля 2015

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

    +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
    #include <stdint.h>
    #include <Windows.h>
    #include <intrin.h>
    
    typedef long dt;
    
    namespace {
    	dt InitializationIsInProgress = 0;
    	dt InitializationIsFinished = 0;
    }
    
    dt InterlockedLoad(dt volatile * t){
    	return InterlockedCompareExchange(t, 0, 0);
    }
    
    dt InterlockedAssign(dt volatile * t, dt v){
    	dt c = 0;
    	while (c = InterlockedCompareExchange(t, v, c));
    }
    
    void InitializeSystem(){
    	if (InterlockedLoad(&InitializationIsFinished) == 1)
    		return;
    	while (InterlockedCompareExchange(&InitializationIsInProgress, 1, 0) == 1) Sleep(0);
    	//__ReadWriteBarrier();
    	if (InterlockedLoad(&InitializationIsFinished) == 1)
    		return;
    	Work();
    	InterlockedAssign(&InitializationIsFinished, 1);
    	InterlockedAssign(&InitializationIsInProgress, 0);
    }

    Не судите строга. Воспользуюсь как пастебином. Если найдете ошибки - пришлю пирожок.

    LispGovno, 04 Февраля 2015

    Комментарии (42)
  4. Куча / Говнокод #17578

    +138

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    {
      "result":
        {
          "session":"f759ca20-****-****-****-273ffc13a26d",
          "version":"1.0"
      },
      "status":
        {
          "error":"ok",
          "errorMessage":""
       }
    }

    takoy vot error

    heyzea1, 04 Февраля 2015

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

    +154

    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
    public static function ShowClaimsByManager($manager_id,$status,$offset_limit,$rows_limit){
            $DBH = Registry::get('DBH');
            $STH = $DBH ->prepare(
                "SELECT * FROM claims,claims_status
                 WHERE claims.manager_id = :manager_id
                 AND claims.id = claims_status.claim_id
                 AND claims_status.status = :statusc
                 LIMIT :offsetl, :rowsl" );
            $STH->bindParam(':manager_id', $manager_id, PDO::PARAM_STR);
            $STH->bindParam(':statusc', $status, PDO::PARAM_STR);
            $STH->bindParam(':offsetl', $offset_limit, PDO::PARAM_INT);
            $STH->bindParam(':rowsl', $rows_limit, PDO::PARAM_INT);
            $STH->execute();
            $result = $STH->fetchAll(PDO::FETCH_ASSOC);
            return $result;
        }

    Парень явно любит ctrl+c и ctrl+v
    про $STH->execute($data); не не слышал.

    werdan, 04 Февраля 2015

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

    −122

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    def contract_params
      if params[:contract][:contract_type].to_i == 1
        field = :contractor_id
      else
        field = :legal_entity_id
      end
      params.require(:contract).permit(
          :contract_type,
          :paid_expectation,
          field
      )
    end

    Much strong, very params.

    FancyDancy, 04 Февраля 2015

    Комментарии (1)
  7. Ruby / Говнокод #17575

    −126

    1. 1
    2. 2
    = simple_fields_for @med_program_template do |f|
      - form ||= f # Страшное коварство

    FancyDancy, 04 Февраля 2015

    Комментарии (49)
  8. C++ / Говнокод #17574

    +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
    #define SQR(x)                  ((x)*(x))
    #define RANGE(x1, y1, x2, y2)   (sqrt(SQR(x1-x2) + SQR(y1-y2)))
    #define bestz                   z_b[b_iz]
    #define bestv                   v_b[b_iv]
    #define curz                    z_b[it]
    #define curv                    v_b[i]
    #define best_range              (bestz.rast + RANGE(bestz.x, bestz.y, bestv.x, bestv.y) + bestv.rast)
    #define current_range           (curz.rast + RANGE(curz.x, curz.y, curv.x, curv.y) + curv.rast)
    #define fci                     (l + ((r - l) / 3))
    #define sci                     (r - ((r - l) / 3))
    #define fc                      z_b[fci]
    #define sc                      z_b[sci]
    #define from                    v_b[i]
    #define range_1                 (from.rast + RANGE(from.x, from.y, fc.x, fc.y) + fc.rast)
    #define range_2                 (from.rast + RANGE(from.x, from.y, sc.x, sc.y) + sc.rast)

    jyree, 04 Февраля 2015

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?php // if you delete this the sky will fall on your head
    endwhile; //endwhile have_posts()
    else: //have_posts()
    ?>
    <p>Sorry, no posts matched your criteria.</p>
    <?php endif; ?>
    <!-- // this is just the end of the motor - don't touch that line either :) -->

    ...мм, Ок!

    elvis, 04 Февраля 2015

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

    +132

    1. 1
    .gen-tabs .acctab:hover, .gen-tabs .acctab:focus, .gen-tabs .acctab.current { Carat up! }

    Говняшечка

    elvis, 04 Февраля 2015

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