1. Лучший говнокод

    В номинации:
    За время:
  2. C++ / Говнокод #27994

    +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
    #include <iostream>
    
    int main(void)
    {
    char sep = '\n'  /1\
    ; int i = 68    /1  \
    ; while (i  ---      1\
                           \
                           /1/1/1                               /1\
                                                                /1\
                                                                /1\
                                                                /1\
                                                                /1\
                                /           1\
                               /            1 \
                              /             1  \
                             /              1   \
                             /1            /1    \
                              /1          /1      \
                               /1        /1        /1/1> 0) std::cout \
                                  <<i<<                               sep;
        return 0;
    }

    https://stackoverflow.com/a/65856842

    digitalEugene, 05 Февраля 2022

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

    +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
    #include <iostream>
    using namespace std;
    void Brezenhem(char **z, int x0, int y0, int x1, int y1)
    {
      int A, B, sign;
      A = y1 - y0;
      B = x0 - x1;
      if (abs(A) > abs(B)) sign = 1;
      else sign = -1;
      int signa, signb;
      if (A < 0) signa = -1;
      else signa = 1;
      if (B < 0) signb = -1;
      else signb = 1;
      int f = 0;
      z[y0][x0] = '*';
      int x = x0, y = y0;
      if (sign == -1) 
      {
        do {
          f += A*signa;
          if (f > 0)
          {
            f -= B*signb;
            y += signa;
          }
          x -= signb;
          z[y][x] = '*';
        } while (x != x1 || y != y1);
      }
      else
      {
        do {
          f += B*signb;
          if (f > 0) {
            f -= A*signa;
            x -= signb;
          }
          y += signa;
          z[y][x] = '*';
        } while (x != x1 || y != y1);
      }
    }
    int main()
    {
      const int SIZE = 25; // размер поля
      int x1, x2, y1, y2;
      char **z;
      z = new char*[SIZE];
      for (int i = 0; i < SIZE; i++) 
      {
        z[i] = new char[SIZE];
        for (int j = 0; j < SIZE; j++)
          z[i][j] = '-';
      }
      cout << "x1 = ";     cin >> x1;
      cout << "y1 = ";     cin >> y1;
      cout << "x2 = ";     cin >> x2;
      cout << "y2 = ";    cin >> y2;
      Brezenhem(z, x1, y1, x2, y2);
      for (int i = 0; i < SIZE; i++) 
      {
        for (int j = 0; j < SIZE; j++)
          cout << z[i][j];
        cout << endl;
      }
      cin.get(); cin.get();
      return 0;
    }

    https://prog-cpp.ru/brezenham/

    спойлер: автор тян

    digitalEugene, 04 Февраля 2022

    Комментарии (98)
  4. bash / Говнокод #27988

    +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
    stop() {
      PIDS=$(/sbin/pidof $PNAME)
      CNT=0
      if [[ $PIDS != "" ]]; then
    	echo -n "Stopping $PNAME: "
    	killall $PNAME && echo "ok" || echo "failed"
      	while [[ $PIDS != "" ]]
      	do 
      		PIDS=$(/sbin/pidof $PNAME)
    		echo -n "."
    		sleep 1
    		CNT=$(($CNT+1))
    		if [[ $CNT -eq 3 ]]; then killall -9 $PNAME;echo -e "\n$PNAME: Force kill";break; fi
      	done
      	echo 
      else echo "$PNAME: don't start"
      fi
    }

    Так автор видел выключение процесса. Процесс работает с файлами на жестком диске и ему важна их целостность, поэтому за 3 секунды не завершался. А еще при gracefully shutdown пишется обновление конфига процесса на диск. Но кого волнуют такие мелочи если оно уже работает в проде 7+ лет

    codemeow, 04 Февраля 2022

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

    +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
    // тред лоулевел-хаков #1
    
    #include <stdio.h>
    #include <stdlib.h>
    
    void hello(void)
    {
            puts("Hello!");
    }
    
    void goodbye(void)
    {
            puts("Goodbye!");
    }
    
    void set_sp_(void *p)
    {
            void *s[0];
            s[0] = p;
    }
    
    void set_sp(void *p)
    {
            set_sp_((void*)p);
    }
    
    int main(void)
    {
            void *new_stack[1024] = {
                    [1019] = (void*)0,
                    [1020] = (void*)&hello,
                    [1021] = (void*)&goodbye,
                    [1022] = (void*)&exit
            };
            set_sp((void*)&new_stack[1019]);
            return 0;
    }

    UB-ы, платформенно зависимый кот, битовая магия

    всё сюда
    |
    |
    \/

    Hu3KoypoBHeBblunemyx, 28 Января 2022

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

    +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
    #include <stdio.h>
    #include <string.h>
    
    int main() 
    {
        char* lalka = "bagor";
        if (0!=strcmp(lalka, "bagor‮ ⁦// comment⁩ ⁦")) {
            puts("Kakoi gabor )))");
        }
        if (0!=strcmp(lalka, "bagor")){
            puts("Pituz!");
        }    
        return 0;
    }

    https://ideone.com/RiM3LX

    #stdout
    Kakoi gabor )))

    3.14159265, 27 Января 2022

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

    +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
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
      int a[4] = {1, 2, 3, 4};
      int (*a_p1)[4] = (int (*)[4])a;
      int (*a_p2)[4] = &a;
      for(size_t i = 0; i < 4; ++i)
      {
        printf("%p -> %d; %p -> %d\n", &(*a_p1)[i], (*a_p1)[i], &(*a_p1)[i], (*a_p2)[i]);
      }
      return EXIT_SUCCESS;
    }

    Вот такой вывод:
    0x7ffee4ebd950 -> 1; 0x7ffee4ebd950 -> 1
    0x7ffee4ebd954 -> 2; 0x7ffee4ebd954 -> 2
    0x7ffee4ebd958 -> 3; 0x7ffee4ebd958 -> 3
    0x7ffee4ebd95c -> 4; 0x7ffee4ebd95c -> 4

    j123123, 14 Января 2022

    Комментарии (102)
  8. Python / Говнокод #27953

    +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
    a = int(input('Введите число A: '))
    b = int(input('Введите число B: '))
    c = int(input('Введите число C: '))
    d = int(input('Введите число D: '))
    
    if a % 2 == 0 and  b % 2 == 0 and c % 2 == 0 and d % 2 == 0:
    	print ('Все числа четные')
    elif a % 2 != 0 and  b % 2 == 0 and c % 2 == 0 and d % 2 == 0:
    	print ('Все числа четные, кроме числа А')
    elif a % 2 == 0 and  b % 2 != 0 and c % 2 == 0 and d % 2 == 0:
    	print ('Все числа четные, кроме числа B')
    elif a % 2 == 0 and  b % 2 == 0 and c % 2 != 0 and d % 2 == 0:
    	print ('Все числа четные, кроме числа C')
    elif a % 2 == 0 and  b % 2 == 0 and c % 2 == 0 and d % 2 != 0:
    	print ('Все числа четные, кроме числа D')
    
    elif a % 2 != 0 and  b % 2 != 0 and c % 2 == 0 and d % 2 == 0:
    	print ('Числа C и D четные, а А и B нет')
    elif a % 2 != 0 and  b % 2 == 0 and c % 2 != 0 and d % 2 == 0:
    	print ('Числа B и D четные, а А и C нет')
    elif a % 2 != 0 and  b % 2 == 0 and c % 2 == 0 and d % 2 != 0:
    	print ('Числа B и C четные, а А и D нет')
    # with B
    elif a % 2 == 0 and  b % 2 != 0 and c % 2 != 0 and d % 2 == 0:
    	print ('Числа A и D четные, а B и C нет')
    elif a % 2 != 0 and  b % 2 == 0 and c % 2 != 0 and d % 2 == 0:
    	print ('Числа B и D четные, а А и C нет')
    elif a % 2 != 0 and  b % 2 == 0 and c % 2 == 0 and d % 2 != 0:
    	print ('Числа B и C четные, а А и D нет')
    
    elif a % 2 == 0 and  b % 2 == 0 and c % 2 != 0 and d % 2 != 0:
    	print ('Числа A и B четные, а C и D нет')
    
    elif a % 2 == 0 and  b % 2 != 0 and c % 2 != 0 and d % 2 != 0:
    	print ('Все числа нечетные, кроме числа А')
    elif a % 2 != 0 and  b % 2 == 0 and c % 2 != 0 and d % 2 != 0:
    	print ('Все числа нечетные, кроме числа B')
    elif a % 2 != 0 and  b % 2 != 0 and c % 2 == 0 and d % 2 != 0:
    	print ('Все числа нечетные, кроме числа C')
    elif a % 2 != 0 and  b % 2 != 0 and c % 2 != 0 and d % 2 == 0:
    	print ('Все числа нечетные, кроме числа D')
    else:
    	print ('Введите только целые числа')

    lainde, 14 Января 2022

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

    +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
    Функция ПолучитьПарамтерыОтправкиРеестра()
    	Адресат = ПараметрыСеанса.ТекущийПользователь.аОфис.ОфисАрхивации.Ответственный;
    	
    	Запрос = Новый Запрос;
    	Запрос.Текст = "ВЫБРАТЬ
    			               |	ТерриторииИПомещения.Ссылка КАК Ссылка
    			               |ИЗ
    			               |	Справочник.ТерриторииИПомещения КАК ТерриторииИПомещения
    			               |ГДЕ
    			               |	ТерриторииИПомещения.аОфисПредприятия = &Архив
    			               |	И НЕ ТерриторииИПомещения.ПометкаУдаления";
    	Запрос.УстановитьПараметр("Архив", Адресат.аОфис.ОфисАрхивации);
    	РЗОф = Запрос.Выполнить().Выгрузить();
    	Если РЗОф.Количество() = 0 Тогда
    		Сообщить("Офис архивации """ + Адресат.аОфис.ОфисАрхивации + """ не прикреплен к территории. Обратитесь в техническую поддержку");
    	ИначеЕсли РЗОф.Количество() > 1 Тогда
    		Сообщить("Офис архивации """ + Адресат.аОфис.ОфисАрхивации + """ прикреплен к нескольким территориям:");
    		Для Каждого СтрТер ИЗ РЗОф Цикл
    			Сообщить(СтрТер.Ссылка);
    		КонецЦикла;
    		Сообщить("Обратитесь в техническую поддержку.");
    	Иначе
    		ОфисПолучателя = РЗОф[0].Ссылка;	
    		ПодразделениеПолучателя = Адресат.Подразделение;		
    	КонецЕсли;
    
    	Возврат Новый Структура("Адресат, ОфисПолучателя, ПодразделениеПолучателя", Адресат, ОфисПолучателя, ПодразделениеПолучателя);
    КонецФункции

    alexey85, 12 Января 2022

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class Main {
      public static void main(String[] args) {
    	System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(new Date(2022 - 1900, 0, 1, 20, 30)));
    	System.out.println(new SimpleDateFormat("YYYY-MM-dd").format(new Date(2022 - 1900, 0, 1, 20, 30)));
      }
    }

    А что там у Jawa-блядей за отсос должен был случиться 1 января? Я что-то не могу воспроизвести:
    https://www.programmersought.com/article/47096700076/

    3_dar, 07 Января 2022

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

    +1

    1. 1
    IT Оффтоп #141

    #111: https://govnokod.ru/27644 https://govnokod.xyz/_27644
    #112: https://govnokod.ru/27648 https://govnokod.xyz/_27648
    #113: https://govnokod.ru/27652 https://govnokod.xyz/_27652
    #114: https://govnokod.ru/27659 https://govnokod.xyz/_27659
    #115: https://govnokod.ru/27665 https://govnokod.xyz/_27665
    #116: https://govnokod.ru/27671 https://govnokod.xyz/_27671
    #117: https://govnokod.ru/27675 https://govnokod.xyz/_27675
    #118: https://govnokod.ru/27685 https://govnokod.xyz/_27685
    #119: https://govnokod.ru/27701 https://govnokod.xyz/_27701
    #120: https://govnokod.ru/27703 https://govnokod.xyz/_27703
    #121: https://govnokod.ru/27710 https://govnokod.xyz/_27710
    #122: https://govnokod.ru/27728 https://govnokod.xyz/_27728
    #123: https://govnokod.ru/27729 https://govnokod.xyz/_27729
    #124: https://govnokod.ru/27730 https://govnokod.xyz/_27730
    #125: https://govnokod.ru/27732 https://govnokod.xyz/_27732
    #126: https://govnokod.ru/27733 https://govnokod.xyz/_27733
    #127: https://govnokod.ru/27737 https://govnokod.xyz/_27737
    #128: https://govnokod.ru/27742 https://govnokod.xyz/_27742
    #129: https://govnokod.ru/27747 https://govnokod.xyz/_27747
    #130: https://govnokod.ru/27755 https://govnokod.xyz/_27755
    #131: https://govnokod.ru/27766 https://govnokod.xyz/_27766
    #132: https://govnokod.ru/27790 https://govnokod.xyz/_27790
    #133: https://govnokod.ru/27828 https://govnokod.xyz/_27828
    #134: https://govnokod.ru/27834 https://govnokod.xyz/_27834
    #135: https://govnokod.ru/27839 https://govnokod.xyz/_27839
    #136: https://govnokod.ru/27845 https://govnokod.xyz/_27845
    #137: https://govnokod.ru/27857 https://govnokod.xyz/_27857
    #138: https://govnokod.ru/27867 https://govnokod.xyz/_27867
    #139: https://govnokod.ru/27887 https://govnokod.xyz/_27887
    #140: https://govnokod.ru/27900 https://govnokod.xyz/_27900

    nepeKamHblu_nemyx, 02 Января 2022

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