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

    −6

    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
    //Program ".c"
    #include <sys/random.h>
    #include <stdio.h>
    
    int main() //non documented
    {
    	char a[10];
    	int r = getrandom(&a, 10, GRND_NONBLOCK);
    	if(r == -1) return r;
    	FILE *f = fopen("rnd", "w");
    	if(f == NULL) return -1;
    	r = fputs(a, f);
    	if(r == EOF) return r;
    	r = fclose(f);
    	if(r == -1) return r;
    	return 0;
    }

    pawn-master, 04 Ноября 2017

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

    0

    1. 1
    https://pastebin.com/pk5bB1Y4

    Я вам покушать принес. Задача кратко и четко объяснить человеку, почему лучше обмазаться дотнетом чем винапи. Пока решил написать группе что следующий факультатив (на котором я должен разбирать их портянки) отменяется, а там что-нибудь придумаю. Две крайности - (new EchoServer).start() и вот это, что ты будешь делать.

    Fluttie, 18 Октября 2017

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

    +3

    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
    // https://github.com/vk-com/kphp-kdb/blob/ce6dead5b3345f4b38487cc9e45d55ced3dd7139/bayes/bayes-data.c#L1966
    
    int init_all (kfs_file_handle_t Index) {
      int i;
    
      log_ts_exact_interval = 1;
    
      ltbl_init (&user_table);
    
      bl_head = qmalloc (sizeof (black_list));
      black_list_init (bl_head);
    
      int f = load_header (Index);
    
      jump_log_ts = header.log_timestamp;
      jump_log_pos = header.log_pos1;
      jump_log_crc32 = header.log_pos1_crc32;
    
      int user_cnt = index_users = header.user_cnt;
    
      if (user_cnt < 1000000) {
        user_cnt = 1000000;
      }
    
      assert (user_cnt >= 1000000);
      user_cnt *= 1.1;
    
      while (user_cnt % 2 == 0 || user_cnt % 5 == 0) {
        user_cnt++;
      }
    
      ltbl_set_size (&user_table, user_cnt);
      users = qmalloc (sizeof (user) * user_cnt);
    
      for (i = 0; i < user_cnt; i++) {
        user_init (&users[i]);
      }
    
      LRU_head = users;
      LRU_head->next_used = LRU_head->prev_used = LRU_head;
    
      if (f) {
        try_init_local_uid();
      }
    
      if (index_mode) {
        buff = qmalloc (max_words * sizeof (entry_t));
        new_buff = qmalloc (4000000 * sizeof (entry_t));
      }
    
      return f;
    }

    http://govnokod.ru/23357#comment390273
    > Говорят что в ВК в начале была такая херь: "уже зарегистрировано N" и это N увеличивалось джаваскриптом со случайной скоростью вообще без связи с сервером

    Если я правильно понял, вконтакт продолжает пиздеть по поводу фактического количества зареганых на нем пользовалелей, но теперь делает это на бэкенде

    user_cnt *= 1.1;

    cunt

    j123123, 17 Октября 2017

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

    +1

    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
    #include <stdio.h>
    #include <unistd.h>
    #include <stdlib.h>
    //код компилируйте clang-ом, иначе не закомпилится
    int main(int argc, char *argv[])
    {
    	if(argc != 2) {
    		printf("Укажите способ (1,2)\n");
    		_exit(1);
    	}
    	int способ = atoi(argv[1]);
    	int ch;
    	switch(способ)
    	{
    		case 1:
    		{
    			while( (ch=getchar()) != EOF ) {
    				printf("%i", ch);
    			}
    			break;
    		}
    		case 2:
    		{
    			int twoch;
    			char arr[2];
    			int new;
    			while( (ch=getchar()) != EOF ) {
    				twoch = getchar();
    				if(twoch == EOF) break;
    				sprintf(arr, "%c%c", (char)ch, (char)twoch);
    				new = atoi(arr);
    				printf("%c", new); //попытка не пытка
    			}
    			break;
    		}
    		default:
    			printf("Неизвестный способ\n");
    	}
    	return 0;
    }

    без слов

    KoderOT-Boga, 17 Октября 2017

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

    −3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    #include <stdio.h>
    
    int main(int argc, char *argv[])
    {
    	int ch;
    	while( (ch=getchar()) != EOF ) {
    		ch+=77;
    		putchar(ch);
    	}
    	return 0;
    }

    вот и зашифровка

    KoderOT-Boga, 17 Октября 2017

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

    −2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    #include <stdio.h>
    
    int main(int argc, char *argv[])
    {
    	int ch;
    	while( (ch=getchar()) != EOF ) {
    		ch-=77;
    		putchar(ch);
    	}
    	return 0;
    }

    расшифровка

    KoderOT-Boga, 17 Октября 2017

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

    +5

    1. 1
    2. 2
    3. 3
    int hcreate(size_t nel);
    ENTRY *hsearch(ENTRY item, ACTION action);
    void hdestroy(void);

    Using these functions, only one hash table can be used at a time.
    The argument nel specifies the maximum number of entries in the table. (This maximum cannot be changed later, so choose it wisely).
    Individual hash table entries can be added, but not deleted.

    Одной хеш таблицы хватит для всех, ресайзить её или удалять элементы - нинужная фича.

    bormand, 15 Октября 2017

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

    +1

    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
    int
    next_day( int mmdd )
    {
       struct tm time;
       time_t clock;
       int date;
       int secs_in_day = 60 * 60 * 24;
    
       /* convert date to mmdd if in yyyymmdd format */
       if (mmdd > 9999)
          mmdd = mmdd % 10000;
    
       /* Get today's date/time in seconds since 1970 */
       clock = time( NULL );
    
       /* Loop until we obtain a clock time corresponding to the day passed in */
       while ( 1 )
       {
          /* Get structure with filled in date/time info. for day corresponding to
           * the clock value we're currently working on & construct date from that.
           */
          localtime( &clock, &time );
          date =  (tm->tm_mon + 1) * 100 + tm->tm_mday;
          if ( date > mmdd )
          {
             /* Set clock back to previous day */
             clock -= secs_in_day;
             continue;
          }
    
          /* Set clock forward to next day */
          clock += secs_in_day;
          if ( date < mmdd )     /* Date is in future */
             continue;
    
          tm = localtime( &clock );
          date =  (tm->tm_mon + 1) * 100 + tm->tm_mday;
          return date;     /* Next date after one passed in */
       }
    }

    Функция, получает день в виде числа в формате mmdd, возвращает следующий день в текущем году в таком же формате.

    vovochka, 13 Октября 2017

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

    +6

    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
    #include<stdio.h>
    #include<stdlib.h>	
    #include<string.h>	
    	int main(void){
    	void run_func(char *map[], char *fnt  , char *km , float *x ,  float *y , int line , int row , int lift    );
    				char *long_met[3][8] = {{"mile","0.621371"  ,  "yard","1093.61" , "fut","3280.84" , "duim","39370.1" } ,
    							{ "mile" ,"1.60934" , "yard","0.0009144" ,  "fut","0.0003048" ,  "duim","0.0000254"},
     			   				{"kilometer","1"  , "meter","1000"  ,   "stmeter","100000" ,   "mmeter","1000000" } }; 
    				char *amount[3][4] = { { "gallon" , "0.264172" ,       "quarta" , "1.05669"     } , 
    						{"gallon" , " 3.78541"  ,     "quarta" , "0.946353"   },
    						{"litr" , "1"  , "mililitr" , "1000"   }};
    				char *mass[3][8] = {   {"eng.tonna","0.984207"  ,  "amer.tonna","1.10231" , "stone","157.473" , "funt","2204.62" } ,
       						{ "eng.tonna" , "1.01605" , "amer.tonna", "0.907185" ,  "stone","0.00635029" ,  "funt","0.000453592"},
    						{"tonna","1" ,         "kilogram" , "1000"  , "miligram","100000"   , "microgram","1000000"  }}; 
    				char **cp;
    				char *buf_data;
    				char *fnt_sys;
    				char *mtr_sys;
    				char *word[100];
    	while(1){
    	int bg  = 0,convert_ch = 3,y = 0, d = 0, numb = 0;
      	float mn =0  , xm = 0 ;
    	printf("%s", "enter data for converter: ");
    		fgets( (char *) word, 99 ,stdin);
    		buf_data = strtok((char *) word, " ");
    		if( ! strcmp(buf_data, "funt.sys"   )     ){
    		convert_ch = 0;	
    		}
    		else	if( ! strcmp(buf_data, "metric.sys"    )     ){
    			convert_ch = 1;	
    		}
    		for( bg = 0 ;  buf_data != NULL;  buf_data = strtok(NULL, " ")  , bg++ ) {
    			switch(bg){
    				case 1:
    					if( !strcmp("long_met" , buf_data  )  ){
    			  			 y	=   sizeof(*long_met) / sizeof(long_met[0][0]); 
    	          	      	                 d	=   sizeof(long_met) /   sizeof(long_met[0][0]); 
    			  		        cp  = &long_met[convert_ch][0]  ;
    					}
    			   		else if(!strcmp("amount" , buf_data  ) ){
    			  			 y	= sizeof(*amount) /  sizeof(amount [0][0]); 
    		            	                 d	= sizeof(amount) /  sizeof(amount[0][0]); 
    				    	        cp = &amount[convert_ch][0] ;
    					}
    				 	else if(!strcmp("mass" , buf_data  ) ){
    				  		 y	= sizeof(*mass ) /  sizeof(mass[0][0]); 
    		         		         d	= sizeof(mass ) /  sizeof(mass[0][0]); 
    				 		 cp = &mass[convert_ch][0] ; 
    					}
    					break;
    				case 2:
    				fnt_sys = buf_data;
    					break;
    				case 3:
    				mtr_sys = buf_data;
    					break;
    				case 4:
    				numb =   atoi(buf_data);
    					break;
    			}
    		}
    		if( !y || !d || !cp || convert_ch == 3 || !numb ){
    	
    			puts("error");
    		}
    		else{
    			run_func( cp,   fnt_sys ,  mtr_sys , &mn ,  &xm , y  , d , convert_ch );
    			if( !mn || !xm  ){
    		puts("error");
    				} else{
    			printf("%f\n" , !convert_ch  ?    (mn  /  xm ) * numb :  (  mn  *  xm   ) * numb         );	
    			}
    		}
    	}
    	return 0;
    	}
    	void run_func(char *map[], char *fnt  , char *km , float *x ,  float *y , int line , int row  , int lift    ){
    		int m ;
    	if(  ( lift )   ){
    			row    -= line;	
    		}
    	for(  m = 0 ; m <= line   ; m++){
    		if(!strcmp(fnt,map[m])){
    			*x = atof(map[m  + 1] )  ;
    			break;
    			}
    		}
    	for( m =   (row  - line) ; m <=  row - 1  ; m++){
    		if( !strcmp( km   ,  map[m] ) ){
    			*y = atof(map[m  + 1 ] );
    			break;
    				}
    			}
    		}

    gne4do, 11 Октября 2017

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

    +9

    1. 1
    gist.github.com/superhackkiller1997/c479a4216b3ab15171db

    d_fomenok, 09 Октября 2017

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