1. Си / Говнокод #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)
  2. Си / Говнокод #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)
  3. Си / Говнокод #4712

    +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

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

    +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
    int CheckError( TStatusMessage* ctrl )
    {
    	if( !ctrl ) return 1;
    
    	if(ctrl->request>40) return 1;
    	if(ctrl->prm.radiation!=ctrl->prm.aradiation) return 1;
    	if(ctrl->prm.pulse!=ctrl->prm.apulse) return 1;
    	if(ctrl->prm.frequency!=ctrl->prm.afrequency)
    	{
    		if( (ctrl->prm.frequency&2) != (ctrl->prm.afrequency&2) )
    		{
    			return 1;		
    		}
    	} 
    	if(ctrl->prm.autotune==ctrl->prm.aautotune) return 1;
    	if(ctrl->prm.antenna==ctrl->prm.aantenna) return 1;
    	if(ctrl->prm.blanking!=ctrl->prm.ablanking) return 1;
    	if(ctrl->prm.vob!=ctrl->prm.avob) return 1;
    
    	return 0;
    }

    Проверка на наличие ошибки.

    absolut, 22 Ноября 2010

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (t) {
    	;	
    } else {
    	printf("%d ", i);
    }

    Ночь. Хочу спать. Выдал вот такое.

    Rusik, 22 Ноября 2010

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

    +139

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    FILE *ConfigFile = NULL;
    char *workdir = NULL;
    workdir=getenv("APP_WORKDIR");
    if ((NULL!=workdir) && (NULL != (ConfigFile = fopen(strcat(workdir,"appname/config.xml"), "r"))))
    {
       fclose(ConfigFile);
       workdir[strlen(workdir)-10] = '\0';
       setenv("APP_RESOURCE_DIR", workdir , 1);
    }

    вот так нужно указывать крутой библиотеке, любимому и незаменимому детищу нашего R&D, читать файл из другой директории.

    и вот такое было закопипащено в 4 приложений....

    Dummy00001, 19 Ноября 2010

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

    +132

    1. 1
    2. 2
    3. 3
    const long long_value = PyInt_AsLong(value);                                      
    const int int_value = (int)long_value;                                            
    if (PyErr_Occurred() || long_value != int_value) { /* Overflow */

    PyMongo...

    raorn, 17 Ноября 2010

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

    +145

    1. 1
    #define ISODD( i ) ( (((i) % 2) == 0) ? 0 : 1 )

    Особо выдающимся китайцам платят не построчно, а посимвольно.

    nil, 17 Ноября 2010

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

    +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
    17. 17
    18. 18
    19. 19
    #include <stdio.h>
    
    // Говнокод здесь
    #define ABS(x) ((x) ? (x) : (-(x)))
    
    int main () {
    	char ch = -128;
    	short sm = -32768;
    	int i = -2147483647; i--;                                    // здесь
    	long long l = -9223372036854775807LL; l--; // и здесь декременты нужны
    	                                                                             // для подавления варнингов
    	
    	printf("char:\t\tABS(%hhd) = %hhd\n", ch, ABS(ch));
    	printf("short:\t\tABS(%hd) = %hd\n", sh, ABS(sh));
    	printf("int:\t\tABS(%d) = %d\n", i, ABS(i));
    	printf("long long:\tABS(%lld) = %lld\n", l, ABS(l));
    
    	return 0;
    }

    Может быть, баян, но...
    Всем знакомый макрос ABS способен сделать большую гадость.
    Вот вывод программы:
    char: ABS(-128) = -128
    short: ABS(-32768) = -32768
    int: ABS(-2147483648) = -2147483648
    long long: ABS(-9223372036854775808) = -9223372036854775808

    whiskey, 12 Ноября 2010

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

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    logit("e", "%s No Menu! Wait 5 minutes and try again.\n", whoami);
    for(j=0;j<60;j++) {
        sleep_ew( 5000 );       /* wait around */
    }

    sgram из earthworm

    ftptrash, 08 Ноября 2010

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