1. C++ / Говнокод #26343

    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
    void main(void)
    {
    	int a1,a2,a3,a4,a5,a6,a7,a8,a9;
    	int b1,b2,b3,b4,b5,b6,b7,b8,b9;
    	int c1,c2,c3,c4,c5,c6,c7,c8,c9;
    	int d1,d2,d3,d4,d5,d6,d7,d8,d9;
    	int e1,e2,e3,e4,e5,e6,e7,e8,e9;
    	int f1,f2,f3,f4,f5,f6,f7,f8,f9;
    	int g1,g2,g3,g4,g5,g6,g7,g8,g9;
    	int h1,h2,h3,h4,h5,h6,h7,h8,h9;
    	int i1,i2,i3,i4,i5,i6,i7,i8,i9;
    
    ....
    
    }

    Когда-то когда я еще не знал о существовании массивов.... это начало программы для решения судоку.
    В продолжении этого были определены еще 729 переменных для вариантов решения.

    Запостил: fomenokdima, 11 Января 2020

    Комментарии (18) RSS

    • Это тоже массив.
      Ответить
    • В подмосковье живёт один Фоменко. Это пожилой мужчина, который зарекся носить брюки. Поэтому он носит юбку. Очень сильный математик. Изрядный лол.
      Может, это ты?
      Ответить
      • он фоменог
        Ответить
        • Упомянутого чувака зовут Владимир Фомин. https://ateist.spb.ru/p/k2005_06_26.htm
          Пианино видно не судьба настроить.
          Ответить
    • А вот я всё никак не могъ додуплить, шо функции можо передавати аргъументы... Поэтому йузал многъо гълобальных переменных.

      Но потом додуплил, представлил, шо функция - подкова, между рогъами которой вставили пробку от шампансково... Вот такой я дураша.
      Ответить
    • Крестокодер от бога
      Ответить
      • Где здесь C++?
        Ответить
        • void main(void)

          Сишник бы написа́л с пустыми скобочками: void main().
          Ответить
          • Наоборот. В очень старых сишках функция без явно заданных аргументов принимала произвольное количество параметров (ну, как сейчас «void func(...) {}» и дальше ебля с «va_list»). Поэтому, например, такой код был полностью валиден:
            int getHujLen() { return 42; }
            int main() { return getHujLen(43, "koko", 'X'); }

            А для того, чтобы объявить функцию, не принимающую аргументов вообще, и был придуман синтаксис с «void f(void)». Потом дрисню с неявными вариадическими аргументами убрали, а «(void)» оставили.
            Ответить
            • блядь, а нормального интерфейса для определения количества или размера вараргов так и не сделали

              казалось бы, разъебываешь обратную совместимость - ну сделай сразу хорошо, так нет же блядь
              Ответить
              • Вместо этого запилили компайл-тайм варарги вместе с вариадическими шаблонами. Это, конечно, быстро и типобезопасно, но насколько же это уёбищное говно…
                Глянь, какой пиздец: https://en.cppreference.com/w/cpp/language/parameter_pack.
                Ответить
                • Синтаксис пугает, хотя на вид это не такая «низкоуровневая» питушня, как в сишке.

                  f(n, ++args...); // expands to f(n, ++E1, ++E2, ++E3);

                  А я надеялся, что они возвращаемое значение инкрементов и декрементов закопают...
                  Ответить
                  • По сути, основная проблема этого дерьма — в отсутствии нормального метаконтейнера. Вот, например, хотим мы напечатать каждый второй аргумент и делаем это в псевдокоде:
                    template<typename ...Args>
                    void f(Args... args)
                    {
                        for (size_t i = 0; i < sizeof...(args); i += 2) {
                            std::cout << args[i] << std::endl;
                        }
                    }

                    Примерно так оно и должно выглядеть. Но с тем говном, что нахуевертили стандартизаторы, так сделать не получится. Самое близкое приближение, которое я могу придумать — это ручками создать std::tuple, скопировать в него аргументы и тягать их через std::get. Ну не говно ли?..
                    Ответить
                • > C++11

                  я пока только с чистой сишкой играюсь =/
                  Ответить
        • Это не полный код, питушочек.
          Ответить
    • О боже мой. Это даже страшно себе представить.
      Ответить

    Добавить комментарий