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

    +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
    for (i=0; i<n1; i++)
            for (j=0; j<n; j++)
                for (l=0; l<m; l++)
                {
                    printf ("Введите в матрицу № %d строку №[%d][%d] \n", i+1,j+1,l+1);
                    while((h<k) && (*(*(*(*(mt+i)+j)+l)+h-1)!='\n'))                        //цикл для последовательного ввода всех элементов символьной строки;
                    {
                        fflush(stdin);
                        *(*(*(*(mt+i)+j)+l)+(h++)) = getchar();                                //ввод элемента символьной строки;
                    }
                        if (*(*(*(*(mt+i)+j)+l)+h-1)='\n')                                    //удаление из конца введённой строки символа переноса \n;
                        { *(*(*(*(mt+i)+j)+l)+h-1)='\0';}
                        else
                        { *(*(*(*(mt+i)+j)+l)+h)='\0';}
                        h = 0;
                }

    heil pure c

    stasoft, 15 Декабря 2010

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

    +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
    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
    99. 99
    case 90:
            if (w!=2) {
                ptr_step[ptr_loop]=91;
                if (Set_Play(90)==-1) {
                    Result=-1;
                    delta_time=1;
                    break;
                }
                break;
            }
        case 91:
            if (w!=2) {
                ptr_step[ptr_loop]=92;
                if (Set_Play(91)==-1) {
                    Result=-1;
                    delta_time=1;
                    break;
                }
                break;
            }
        case 92:
            if (w!=2) {
                ptr_step[ptr_loop]=93;
                if (Set_Play(92)==-1) {
                    Result=-1;
                    delta_time=1;
                    break;
                }
                break;
            }
        case 93:
            if (w!=2) {
                ptr_step[ptr_loop]=94;
                if (Set_Play(93)==-1) {
                    Result=-1;
                    delta_time=1;
                    break;
                }
                break;
            }
        case 94:
            if (w!=2) {
                ptr_step[ptr_loop]=95;
                if (Set_Play(94)==-1) {
                    Result=-1;
                    delta_time=1;
                    break;
                }
                break;
            }
        case 95:
            if (w!=2) {
                ptr_step[ptr_loop]=96;
                if (Set_Play(95)==-1) {
                    Result=-1;
                    delta_time=1;
                    break;
                }
                break;
            }
        case 96:
            if (w!=2) {
                ptr_step[ptr_loop]=97;
                if (Set_Play(96)==-1) {
                    Result=-1;
                    delta_time=1;
                    break;
                }
                break;
            }
        case 97:
            if (w!=2) {
                ptr_step[ptr_loop]=98;
                if (Set_Play(97)==-1) {
                    Result=-1;
                    delta_time=1;
                    break;
                }
                break;
            }
        case 98:
            if (w!=2) {
                ptr_step[ptr_loop]=99;
                if (Set_Play(98)==-1) {
                    Result=-1;
                    delta_time=1;
                    break;
                }
                break;
            }
        case 99:
            if (w!=2) {
                ptr_step[ptr_loop]=191;
                if (Set_Play(31)==-1) {
                    Result=-1;
                    delta_time=1;
                    break;
                }
                break;

    программа управления редкими ISDN платами, обработчик встроенного скриптового языка.
    case делается по ptr_step[ptr_loop]
    delta_time = 1 скорее всего означает "ты переключись на другую задачу, но вернись ко мне поскорее"
    пока ещё до конца не разобрался

    funny_falcon, 13 Декабря 2010

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

    +137

    1. 1
    2. 2
    3. 3
    4. 4
    if (MACaddress == 0)
    		MACaddress = pAdapterInfo->Address [5] + pAdapterInfo->Address [4] * 256 + 
    					pAdapterInfo->Address [3] * 256 * 256 + 
    					pAdapterInfo->Address [2] * 256 * 256 * 256;

    xynta, 12 Декабря 2010

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

    +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
    static int16_t have_upper_dot(cell *c)
    {
     cell *cc;
     int16_t H;
     H=my_bases.ps;
     cc=c->prev;
     if ((cc->flg & c_f_dust) &&
          (c->w>4 && cc->h>=2 && cc->w>=2 &&
    	(abs(cc->h-cc->w)<=H/6 || cc->h<cc->w && cc->w-cc->h<=H/4) &&
    	cc->col+1>=c->col && cc->col+cc->w-5<=c->col+c->w ||
           c->w<=4 && abs(c->col-cc->col+(c->w-cc->w)/2)<=2) &&
          cc->row+cc->h-2<=my_bases.b2)
       return 1;
     cc=c->next;
     if ((cc->flg & c_f_dust) &&
          (c->w>4 && cc->h>=2 && cc->w>=2 &&
    	(abs(cc->h-cc->w)<=H/6 || cc->h<cc->w && cc->w-cc->h<=H/4) &&
    	cc->col+1>=c->col && cc->col+cc->w-5<=c->col+c->w ||
           c->w<=4 && abs(c->col-cc->col+(c->w-cc->w)/2)<=2) &&
          cc->row+cc->h-2<=my_bases.b2)
       return 1;
     return 0;
    }

    Из одной OCR программы.

    f0ma, 12 Декабря 2010

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

    +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 <fcntl.h>
    #include <stdio.h>
    #include <unistd.h>
    #include <string.h>
    
    // man sendfile
    
    int main (int argc, char **argv, char **envp) {
      while(
    	  (
    	    argc < 0 // true if all ok, false on first iter
    	    ||  
    	    (
    	      argc != 2 // true if error
    	      && 
    	      (printf("usage %s filename\n", argv[0]) && 0 == (argc = 0))// show error (true)
    	    ) // true if error, and argc == 0
    	    ||
    	    (
    	      ((argc = open(argv[1], O_RDONLY) * -1) < 0) // false if error
    	      ||
    	      (printf("cannot open %m\n") && 0 == (argc = 0))// show error (true)
    	    ) 
    	  ) // true if all ok, also argc != 0
    	  && 
    	  (
    	    argc < 0 // if open success this is true
    	    &&
    	    (read(argc * -1, memset(envp[1], 0, 1025), 1024) > 0 && printf("%s", envp[1])) || (close(argc * -1))
    	  )
           ) ;
    }

    работает и под linux и под cygwin (gcc какие были под рукой)

    затрудняюсь определить парадигму :)

    Anonimous, 09 Декабря 2010

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

    +134

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    ............................
    int mas1[5]={1,6,3,4,9};
    int mas2[5]={9,6,3,4,1};
    int mas3[5];
    mas mas3[1]=sqr (mas1[1]*mas2[1]);  
    mas mas3[2]=sqr (mas1[2]*mas2[2]);
    mas mas3[3]=sqr (mas1[3]*mas2[3]);
    mas mas3[4]=sqr (mas1[4]*mas2[4]);
    mas mas3[5]=sqr (mas1[5]*mas2[5]);
    ............................

    Данный пример народного творчества попался мне в работе одного стюдента ) синтаксис сохранен в оригинале там точно написано sqr :). А пример должен был вычислять среднегеометрическое и писать в третий массив.

    USERNAME, 08 Декабря 2010

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

    +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
    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
    ZEB_CALLBACK ZEB_CACHE_GetPage(ZEB_PagesCache *pPagesCache, ZEB_PAGEIDX fpPageIndex, void **ppCachedPageAdress)
    {  
      ZEB_WORD i; 
      for(i = 0; i < pPagesCache->loadedCount; i++)
      {
        if(pPagesCache->pDescriptors[i].fpPosition == fpPageIndex)
        {
          pPagesCache->pDescriptors[i].hitPoints++;
          (*ppCachedPageAdress)=(pPagesCache->pCache)+(i<<(pPagesCache->pageRatio)); //выдаю адрес подгруженной страницы в кэше
          return ZEBCB_GOOD;
        }
      }
      // запрошенная страница все еще не найдена} 
      //если страницы нету - то проверяем - есть ли свободный слот, а если нет слotа, то проводим операцию по выпиливанию страницы с наименьшим ХП 
      if( pPagesCache->loadedCount < pPagesCache->capacity )
      {//если слот еще есть то загружаем в позицию края - это loadedCount и увеличиваем его на 1
        pPagesCache->pDescriptors[pPagesCache->loadedCount].fpPosition = fpPageIndex; //указываем реальный адрес в соусе
        pPagesCache->pDescriptors[pPagesCache->loadedCount].hitPoints = 1;  //ХП ставим в 1
        ZEB_CACHE_MechMountPage(pPagesCache,pPagesCache->loadedCount,fpPageIndex);//загружаем эту страницу в кэш (позиция соответствует индексу дескриптора) 
        (*ppCachedPageAdress)=(pPagesCache->pCache) + ((pPagesCache->loadedCount) << (pPagesCache->pageRatio)); //получаем адрес страницы  
        pPagesCache->loadedCount++; //увеличиваем количество загруженных страниц  
        return ZEBCB_GOOD;
      }else //TODO: елсе не нужен     // Почему не нужен? (2010 07 12)    //Не знаю (2010 07 28)
      {//если свободных слотов нет - то проводим поиск наименьшего хп и выпиливаем его, загружая на его место новый дескриптор и страницу
        //поиск наименбшего хп
        ZEB_WORD 
         register minHP,
         register minDIDX  //Descriptor InDeX
         ;    
        minHP = pPagesCache->pDescriptors[0].hitPoints;
        minDIDX = 0;
        for(i = 1; i < pPagesCache->capacity; i++)
        {
          if(pPagesCache->pDescriptors[i].hitPoints < minHP)
          {
            minHP = pPagesCache->pDescriptors[i].hitPoints;
            minDIDX = i;
          }
        }
        //страница в любос случае найдена - выпиливаем ее - сохраняя ее в сурс обратно
        ZEB_CACHE_MechUnmountPage(pPagesCache,minDIDX,pPagesCache->pDescriptors[minDIDX].fpPosition); 
        //и на ее место грузим новый дескриптор и саму страницу
        pPagesCache->pDescriptors[minDIDX].fpPosition = fpPageIndex; //указываем реальный адрес в соусе   //TODO: Нужно запихивать дескрипторы в отдельный массив и обращаться по указателю, потом это дело можно сортировать для ускорения поиска страниц. Режимы сортировок - максимум и минимум: 1 - для быстрого обращения к наиболее часто используемым страницам, 2 - для быстрого выпиливания менее используемых страниц. (2010 07 28)
        pPagesCache->pDescriptors[minDIDX].hitPoints = 1;  //ХП ставим в 1 
        //кэшируем требуемую страницу
        ZEB_CACHE_MechMountPage(pPagesCache,minDIDX,fpPageIndex);    
        (*ppCachedPageAdress)=(pPagesCache->pCache) + ((pPagesCache->loadedCount) << (pPagesCache->pageRatio)); //получаем адрес страницы  
        return ZEBCB_GOOD;
      }
    }

    Господа - я не уверен говнокод ли это, но вы как бесспорные эксперты в области обнаружения ГК дайте свое заключение. Метод получает страницу из кэша. Страницы фиксированного размера и кэшируются из файла. Буфер под кэш - определяется один раз при создании как единый динамически полученный массив. Код кодил ОП.

    CreatorOfBullshit, 08 Декабря 2010

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

    +120

    1. 1
    SleepMsec( 3600 * 1024 );

    Это вынесло мне моск

    stillwaiting, 06 Декабря 2010

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

    +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
    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
    #include <stdio.h>
    #include <math.h>
    
    double math_average (double values[2][3], int rows);
    double dispers (double values[2][3], int rows);
    
    void main() {
      int rows = 2;
      double values[2][3] = {(1,2),(2,4), (4,8)};
    
      double av = math_average (values, rows);
      double di = dispers (values, rows);
    }
    
    /* **********************************************
      Srednee Arifmeticheskoe
      @values[][0]: vremya otpravki paketa;
      @values[][1]: vremya priema paketa
      @values[][2]: raznitsa vremeni priema i otpravki
      @rows: kolichestvo strok 
      ********************************************** */
    double math_average (double* values[2][3], int rows){
      int count = rows;
      double sum = 0;
      
      while (count){
        *values[count][2] = *values[count][0] - *values[count][1];
        sum += *values[count][2];
    	count--;
      }
      
      return (sum / rows);
    }
    
    /* ***********************************
      Dispersiya
      D= sqrt (sum((sr_arifm - a[i])^2))
      @values[][0]: vremya otpravki paketa;
      @values[][1]: vremya priema paketa
      @values[][2]: raznitsa vremeni priema i otpravki
      @rows_sum: kolichestvo strok
    */
      double dispers (double* values[2][3], int rows){
        int count = rows;
        double sum = 0;
      
        double math_av = math_average(values, rows);
        for (int i = 0; i < count; i++){
          sum += pow((math_av - *values[i][2]), 2);
        }
    
        return (sqrt(sum));  
    }

    tuxdie, 01 Декабря 2010

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    /*----------------------------------------------------------------------------*/
    double XzMinSec( double XBOCT, unsigned int OKP){ /*Gr(Ch).dG(dC)->Gr(Ch)MS.dS*/
    signed int  min,  xz = XBOCT; XBOCT-=xz; min=60*XBOCT;  XBOCT=(XBOCT*60-min)*60;
    if (XBOCT>=59.5) { unsigned char teg[32]; double n =  pow(10,OKP) * (XBOCT-min);
    signed int z=n;n-=z; if(n>=0.5||n<=-0.5){ signed int x,y=0; sprintf(teg,"%d",z);
    while(teg[y]!='\0') y++;  z=1; for( x=0; x<OKP; x++ )  if ( teg[--y]!='9' ) z=0;
    if(z==1) if(abs(min)==59) if(min<0) XBOCT=-4100; else XBOCT=4100; else if(min<0)
    XBOCT=-100; else XBOCT=100; }}     return  xz * 10000  +  min * 100  +  XBOCT; }
    /*----------------------------------------------------------------------------*/

    гм... работает...

    BeardRED, 22 Ноября 2010

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