1. Java / Говнокод #23573

    0

    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
    import java.util.*;
    import java.io.*;
    
    public class plusovka
    {
    	public static void main(String[] args)
    	{
    		System.out.println("В работе...");
    		long c = 0L;
    		int all = 0;
    		try {
    			Scanner s = new Scanner(new File("/tmp/num"));
    			while(s.hasNextInt()) {
    				c+=s.nextLong();
    				all++;
    			}
    		}
    		catch(IOException e) { System.out.println(e); }
    		catch(IllegalStateException e) { System.out.println(e); }
    		catch(InputMismatchException e) { System.out.println(e); }
    		System.out.println("Сложено между собой чисел: "+all);
    		System.out.println("Результат: "+c);
    	}
    }

    учися делать двойные поносы на обучающих сайтах

    йоу йоу!

    fuckercoder, 09 Декабря 2017

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

    0

    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
    #include <stdio.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #include <linux/fb.h>
    #include <stropts.h>
    #include <sys/mman.h>
    #include <unistd.h>
    
    typedef unsigned char     uint8_t;
    typedef unsigned short    uint16_t;
    typedef unsigned int      uint32_t;
    typedef unsigned long int uint64_t;
    
    inline uint32_t pixel_color(uint8_t r, uint8_t g, uint8_t b, struct fb_var_screeninfo *vinfo)
    {
    	return (r<<vinfo->red.offset) | (g<<vinfo->green.offset) | (b<<vinfo->blue.offset);
    }
    
    int main()
    {
    	int fb_fd = open("/dev/fb0", O_RDWR);
    	if(fb_fd == -1) {
    		perror("open");
    		return 1;
    	}
    	struct fb_fix_screeninfo finfo;
    	struct fb_var_screeninfo vinfo;
    	//Get variable screen information
    	if(ioctl(fb_fd, FBIOGET_VSCREENINFO, &vinfo) == -1) {
    		perror("ioctl");
    		return 1;
    	}
    	//Get fixed screen information
    	if(ioctl(fb_fd, FBIOGET_FSCREENINFO, &finfo) == -1) {
    		perror("ioctl");
    		return 1;
    	}
    
    	vinfo.grayscale=0;
    	vinfo.bits_per_pixel=32;
    	if(ioctl(fb_fd, FBIOPUT_VSCREENINFO, &vinfo) == -1) {
    		perror("ioctl");
    		return 1;
    	}
    	if(ioctl(fb_fd, FBIOGET_VSCREENINFO, &vinfo) == -1) {
    		perror("ioctl");
    		return 1;
    	}
    	if(vinfo.grayscale != 0) {
    		printf("Error set grayscale!\n");
    		return 1;
    	}
    	if(vinfo.bits_per_pixel != 32) {
    		printf("Error set bits_per_pixel!\n");
    		return 1;
    	}
    	long screensize = vinfo.yres_virtual * finfo.line_length;
    	uint8_t *fbp = mmap(0, screensize, PROT_READ | PROT_WRITE, MAP_SHARED, fb_fd, (off_t)0);
    	if(fbp == MAP_FAILED) {
    		perror("mmap");
    		return 1;
    	}
    	uint32_t pixel = pixel_color(46, 255, 46, &vinfo);
    	//Убедитесь, что вы правильно установили x, y и пиксель
    
    	long line = 0;
    	while(1)
    	{
    		if(line > vinfo.xres) break;
    		long location;
    		for (long x = 0; x < line; x++)
    			for (long y=0; y<vinfo.yres; y++)
    			{
    				location = (x+vinfo.xoffset) * (vinfo.bits_per_pixel/8) + (y+vinfo.yoffset) * finfo.line_length;
    				*((uint32_t*)(fbp + location)) = pixel;
    			}
    		line++;
    		usleep(100000);
    	}
    
    	return 0;
    }

    угадайте до запуска по какой оси прога будет рисовать и понос пролетит мимо вас!

    fuckercoder, 09 Декабря 2017

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Интересно, когда быдло, только вчера узнавшее про "Bitcoin" и начавшее покупать как его, так и "ASIC" с видеокартами,
    осознает, что этим оно толком ничего не приобретает, а всего лишь увеличивает ценность и востребованность тех, в миллионы
    раз больших по количеству, фантиков, что когда-то накрутили себе вхожие в некогда узкий круг знатоков и создателей "Bitcoin"?...
    Весьма и весьма настораживает напускная восторженность ежедневно публикуемых на https://hi-tech.mail.ru статей о "Bitcoin".
    Очевидно, что статьи о нём проплачены теми, кто заинтересован в повышении ценности упомянутых фантиков.

    COWuTEJIbTBOEuMAMKu, 08 Декабря 2017

    Комментарии (7)
  4. PHP / Говнокод #23570

    +2

    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
    <?php
    $s       = "This";
    $is      = "an";
    $of      = "a";
    $ninja   = "coding";
    $This    = "is";
    $a       = "ninja";
    $coding  = "echo";
    $an      = "example";
    $example = "of";
    ${null}  = ' "$s';
    function z($x,$c='$'){return $x==1?$c:z($x-1,$c.'$');}
    for($i=1;$i<=7;$i++){${null}.=' ${'.z($i).'s}';}
    eval($$$$$$$$$s.${null}.'\n";');
    
    /*  Returns:
    This is an example of a ninja coding
    */

    PHP очарователен
    К посту http://govnokod.ru/23540

    ibragimych26, 08 Декабря 2017

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

    0

    1. 1
    2. 2
    3. 3
    https://vk.com/board1844826
    
    Языковые "PHP"-файлы "ВКонтакте" в первые годы его существования.

    COWuTEJIbTBOEuMAMKu, 08 Декабря 2017

    Комментарии (11)
  6. C++ / Говнокод #23568

    +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
    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
    #include <experimental/coroutine>
    #include <iostream>
    #include <optional>
    #include <utility>
    
    template<typename T>
    class Maybe
    {
        std::shared_ptr<std::optional<T>> m_maybe = std::make_shared<std::optional<T>>();
    public:
        Maybe() = default;
        
        Maybe(const T& t)
        : m_maybe { std::make_shared<std::optional<T>>(t) }
        {
        }
    
        explicit operator bool() const { return static_cast<bool>(*m_maybe); }
        T& operator* () { return **m_maybe; }
        const T& operator*() const { return **m_maybe; }
        
        void reset() { m_maybe->reset(); }
        
        template<typename U>
        void emplace(U&& u) { m_maybe->emplace(std::forward<U>(u)); }
    };
    
    template<typename T>
    void printMaybe(const Maybe<T>& opt)
    {
        if (opt)
            std::cout << *opt << std::endl;
        else
            std::cout << "<empty>" << std::endl;
    }
    
    template<typename T, typename... Args>
    struct std::experimental::coroutine_traits<Maybe<T>, Args...>
    {
        struct promise_type
        {
            Maybe<T> m_maybe;
            
            auto get_return_object() { return m_maybe; }
            
            std::experimental::suspend_never initial_suspend() { return {}; }
            std::experimental::suspend_never final_suspend() { return {}; }
            
            void unhandled_exception() { m_maybe.reset(); }
            
            template<typename U>
            void return_value(U&& u) { m_maybe.emplace(std::forward<U>(u)); }
        };
    };
    
    template<typename T>
    auto operator co_await(const Maybe<T>& maybe)
    {
        struct Awaiter
        {
            const Maybe<T>& input;
    
            bool await_ready() { return static_cast<bool>(input); }
            auto await_resume() { return *input; }
            void await_suspend(std::experimental::coroutine_handle<> coro) { coro.destroy(); }
        };
    
        return Awaiter { maybe };
    }
    
    Maybe<int> maybeAdd(const Maybe<int>& maybeA, const Maybe<int>& maybeB)
    {
        auto a = co_await maybeA;
        auto b = co_await maybeB;
        co_return a + b;
    }
    
    int main()
    {
      /*
        printMaybe(maybeAdd({ 1 }, { 2 }));
        printMaybe(maybeAdd({}, { 2 }));
        printMaybe(maybeAdd({ 1 }, {}));
        */
        const auto res = maybeAdd({ 1 }, { 2 });
        return res ? *res : 0;
    }

    do-нотация в плюсах

    j123123, 07 Декабря 2017

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

    0

    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
    // Определим тип возвращаемого результата
    	РезультатМассив    = ?(ВРег(ТипРезультата)="МАССИВ",Истина,Ложь);
    	РезультатСписок    = ?(ВРег(ТипРезультата)="СПИСОКЗНАЧЕНИЙ",Истина,Ложь);
    	РезультатСтруктура = НЕ РезультатМассив И НЕ РезультатСписок;
    	
    	Если РезультатСтруктура Тогда
    		Измерения = Новый Структура;
    	КонецЕсли; 
    	Если РезультатМассив Тогда
    		Измерения = Новый Массив;
    	КонецЕсли; 
    	Если РезультатСписок Тогда
    		Измерения = Новый СписокЗначений;
    	КонецЕсли;  
    	
    	Если МассивИсключений = Неопределено Тогда
    	
    		МассивИсключений = Новый Массив;
    	
    	КонецЕсли;

    А еще вот так можно проверить тип значения

    Migelek, 07 Декабря 2017

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

    −2

    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
    #define POLY 0x8408
    /*
    //                                      16   12   5
    // this is the CCITT CRC 16 polynomial X  + X  + X  + 1.
    // This works out to be 0x1021, but the way the algorithm works
    // lets us use 0x8408 (the reverse of the bit pattern).  The high
    // bit is always assumed to be set, thus we only use 16 bits to
    // represent the 17 bit value.
    */
    
    unsigned short crc16(unsigned char *data_p, size_t length)
    {
      unsigned char i;
      unsigned int data;
    
      if ( length == 0 ) return 0;
      unsigned int crc = 0xFFFF;
      do
      {
        data = *data_p++;
        for ( i=0; i < 8; i++ )
        {
          if ( (crc ^ data) & 1 )
            crc = (crc >> 1) ^ POLY;
          else
            crc >>= 1;
          data >>= 1;
        }
      } while ( --length != 0 );
    
      crc = ~crc;
      data = crc;
      crc = (crc << 8) | ((data >> 8) & 0xff);
      return (unsigned short)(crc);
    }

    Типичный пример непортабельной хуйни на Си.

    j123123, 07 Декабря 2017

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

    −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
    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
    function timeAgo($time_ago)
    {
        $time_ago = strtotime($time_ago);
        $cur_time = strtotime(date('Y-m-d H:i:s'));
        $time_elapsed = $cur_time - $time_ago;
        $seconds = $time_elapsed;
        $minutes = round($time_elapsed / 60);
        $hours = round($time_elapsed / 3600);
        $days = round($time_elapsed / 86400);
        $weeks = round($time_elapsed / 604800);
        $months = round($time_elapsed / 2600640);
        $years = round($time_elapsed / 31207680);
        if ($seconds <= 60) {
            echo "$seconds seconds ago";
        } else {
            if ($minutes <= 60) {
                if ($minutes == 1) {
                    echo "one minute ago";
                } else {
                    echo "$minutes minutes ago";
                }
            } else {
                if ($hours <= 24) {
                    if ($hours == 1) {
                        echo "an hour ago";
                    } else {
                        echo "$hours hours ago";
                    }
                } else {
                    if ($days <= 7) {
                        if ($days == 1) {
                            echo "yesterday";
                        } else {
                            echo "$days days ago";
                        }
                    } else {
                        if ($weeks <= 4.3) {
                            if ($weeks == 1) {
                                echo "a week ago";
                            } else {
                                echo "$weeks weeks ago";
                            }
                        } else {
                            if ($months <= 12) {
                                if ($months == 1) {
                                    echo "a month ago";
                                } else {
                                    echo "$months months ago";
                                }
                            } else {
                                if ($years == 1) {
                                    echo "one year ago";
                                } else {
                                    echo "$years years ago";
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    Отображает прошедшее время после публикации поста

    black_vlastelin, 06 Декабря 2017

    Комментарии (2)
  10. 1C / Говнокод #23564

    0

    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
    НадоОтправить = Ложь;
    НадоПолучить = Ложь;
    				
    Если Режим = РежимPOP3SMTP или Режим = РежимPOP3SMTPСсылка Тогда
    					
    	Если Параметры.Свойство("АдресPOP3") и ЗначениеЗаполнено(Параметры.АдресPOP3) Тогда
    						
    		НадоПолучить = Истина;
    						
    	КонецЕсли;
    					
    	Если Параметры.Свойство("АдресSMTP") и ЗначениеЗаполнено(Параметры.АдресSMTP) Тогда
    						
    		НадоОтправить = Истина;
    						
    	КонецЕсли;
    					
    ИначеЕсли Режим = РежимIMAP или Режим = РежимIMAPСсылка Тогда
    					
    	Если Параметры.Свойство("АдресIMAP") и ЗначениеЗаполнено(Параметры.АдресIMAP) Тогда
    						
    		НадоПолучить = Истина;
    		НадоОтправить = Истина;
    						
    	КонецЕсли;
    					
    ИначеЕсли Режим = РежимIMAPSMTP или Режим = РежимIMAPSMTPСсылка  Тогда
    					
    	Если Параметры.Свойство("АдресIMAP") и ЗначениеЗаполнено(Параметры.АдресIMAP) Тогда
    						
    		НадоПолучить = Истина;
    						
    	КонецЕсли;
    					
    	Если Параметры.Свойство("АдресSMTP") и  ЗначениеЗаполнено(Параметры.АдресSMTP) Тогда
    						
    		НадоОтправить = Истина;
    						
    	КонецЕсли;
    					
    ИначеЕсли Режим = РежимВнешнийПочтовыйКлиент или Режим = РежимВнешнийПочтовыйКлиентСсылка  Тогда
    					
    	Если Параметры.Свойство("ИспользоватьOutlook") и Параметры.ИспользоватьOutlook = Истина  Тогда
    						
    		НадоОтправить = Истина;
    		НадоПолучить = Истина;
    						
    	КонецЕсли;
    					
    	Если Параметры.Свойство("ИспользоватьLotusNotes") и Параметры.ИспользоватьLotusNotes = Истина Тогда
    						
    		НадоОтправить = Истина;
    						
    	КонецЕсли;
    					
    КонецЕсли;
    				
    Если Параметры.Свойство("Отправка") Тогда
    					
    	ЗначениеСравнения = ЗначениеИзСтрокиВнутр(Параметры.Отправка);
    					
    	Если ЗначениеСравнения = Истина Тогда
    						
    		НадоОтправить = Истина;
    						
    	Иначе
    						
    		НадоОтправить = Ложь;
    						
    	КонецЕсли;
    					
    КонецЕсли;
    				
    Если Параметры.Свойство("Получение") Тогда
    					
    	ЗначениеСравнения = ЗначениеИзСтрокиВнутр(Параметры.Получение);
    					
    	Если  ЗначениеСравнения = Истина  Тогда
    						
    		НадоПолучить = Истина;
    						
    	Иначе
    						
    		НадоПолучить = Ложь;
    						
    	КонецЕсли;
    					
    КонецЕсли;

    Когда тебе платят за количество строк.
    Обработка загрузка почтовых сообщений. Итилиум, редакция 4.5

    RickyBelli, 06 Декабря 2017

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