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

    +1000

    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
    int *element_iskomoi_posledovatelnosti;
     int tempNum = 1;
    element_iskomoi_posledovatelnosti = new int [maxim];
       
        int k=index_pervogo_elementa_posledovatelnosti;
        element_iskomoi_posledovatelnosti[0]=arr[k];
        printf(" element_iskomoi_posledovatelnosti[%i]=%i\n ",1, element_iskomoi_posledovatelnosti[0]);
     
        for (int j=index_pervogo_elementa_posledovatelnosti; j< n ; j++ )
        if (arr[k]<arr[j]) 
        {
           element_iskomoi_posledovatelnosti[tempNum]=arr[j];
           printf(" element_iskomoi_posledovatelnosti[%i]=%i\n ",tempNum+1, element_iskomoi_posledovatelnosti[tempNum++]);
           k=j;
         }
    }

    Запостил: Crazy_penguin, 13 Ноября 2011

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

    • http://www.cyberforum.ru/cpp-beginners/thread382898.html
      Ответить
    • говнолаба
      Ответить
    • f(a+1, a++)

      при отладке ничего не смутило?
      Ответить
      • Я считаю, надо пиздить за оператор ++, расположенный не сам по себе.
        Ответить
        • показать все, что скрытогопник?
          Ответить
          • Слышь чо, ++ есть? А если найду?
            Ответить
            • так ты чо, еще и паскалист, даа?
              Ответить
              • - Слыш, с плюсами знаком, ёпта?!
                - Конечно, вот у нас, паскалистов...
                - На нах, ёпта!
                Ответить
                • Однажды Никлаус Вирт поехал в Италию.
                  — Нравится ли вам Паскаль? — спросил Никлаус Вирт итальянских программистов.
                  — Si! Si! — ответили ему итальянские программисты.
                  С тех пор Никлаус Вирт в Италию больше не ездил.
                  Ответить
        • на любом языке можно написать так, чтобы было "без пол-литра не разберешься".
          в С++ возможностей больше. те же ++ / -- позволяют в 1 строке написать их кучу раз в разных сочетаниях.
          а, скажем
          test[i ++] = 3;
          test[i ++] = 56;
          выглядит гораздо лучше, чем
          test[i] = 3;
          i ++;
          test[i] = 56;
          i ++;
          Ответить
          • test[i] := 3; Inc(i);
            Ответить
            • сильно длинно и причин писать так нет, если можно так: test[i++] := 3; без последствий

              а вот это не хорошо, я согласен:
              whle(d[i]=s[i++]);
              повторное использование той же переменной в одной и том же выражении имеет последствия, но компилятор, скорее всего, промолчит
              Ответить
            • да, школьникам трудно понять, когда в одном выражении производится больше 1 действия
              поэтому ни ++, ни тернарные операторы, ни последовательности присваиваний им не нужны
              им выражения
              if (NO_ERROR != (retcode = dosmth(*iter++))) ....
              сразу выносят мозг
              Ответить
              • >да, школьникам трудно понять, когда в одном выражении производится больше 1 действия
                то есть ты считаешь, что им сложно понять выражение больше i+=5 или i=i+5?
                Ответить
                • им проще
                  m := M + 5;
                  Ответить
                  • и кучу временных переменных на каждый чих, обязательно с комментариями, что типа увеличиваем на единицу и присваиваем а б.
                    Ответить
              • Школьникам выносит мозг уже if (3 == n) ... в основном от негодования, почему не if (n == 3) ...

                if (NO_ERROR != (retcode = dosmth(*iter++))) ....
                меня тоже после 7 вечера в рабочий день такая конструкция напрягает, хотя я и могу ее понять:)
                несмотря на то, что я очень давно не писал на С++.

                Хороший код должен быть простым и легко читаемым (т.е. его можно передать специалисту классом пониже без каких-либо проблем). По этим соображениям, я бы написал:
                retcode = dosmth(*iter++);
                if (NO_ERROR != retcode) ....
                Ответить
                • >Школьникам выносит мозг уже if (3 == n) ... в основном от негодования, почему не if (n == 3) ...
                  А потом они удивляются при отладке
                  if (n = 3)
                  Ответить
                • >if (NO_ERROR != (retcode = dosmth(*iter++))) ....
                  чем тебя лисп не устраивает? там и побольше скобок бывает
                  Ответить
                  • Лисп хорош не потому, что в нём много скобок. Искать скобкам пары порой утомляет.
                    Ответить
                    • я сказал, что большое число скобок - плюс лиспа?
                      логику включи
                      Ответить
                      • В Лиспе бы разнообразить виды скобочек.
                        Ответить
                        • в Clojure добавили квадратные для аргументов функций, привязки переменных, инициализации векторов..., а также фигурные для инициализации различных структур (мапы, множества...).
                          Ответить
              • Знакомо, но это проходит, по себе знаю.
                Ответить
              • Ну это ещё можно разобрать, но не стоит опасность сделать нечитаемое говно, используя ++.
                Ответить
          • test[i  ]=3
            test[i+1]=56
            test[i+2]=89
            i += 2;

            Хотя конструкция изначально бредовая )
            Ответить
            • test[iхуй]=3
              Ответить
              • спермотоксикоз....
                Ответить
              • а вы в блокнот скопипасте, да шрифт Courier New включите ;)
                Ответить
                • ничего не заметил
                  Ответить
                • >Courier New
                  terminus же
                  Ответить
                  • не нашёл такой
                    Ответить
                  • Monaco или Consolas, на крайняк Inconsolata
                    Даёшь шрифтовый холивор
                    Ответить
                    • поддержу холивор, кто не с нами, тот под нами!
                      Droid Sans Mono
                      Ответить
                      • Lucida Console, потому что без засечек, глаз не напрягает
                        Ответить
                        • люсида ооочень долгое время стояла в студии, безусловно лучший моноширинный шрифт из стандартной виндовой поставки
                          пока дроид санс моно не поставил
                          единственный минус - дроид санс моно пришлось допилить в редакторе, потому что студия его межстрочный интервал интерпретировала слишком фривольно
                          Ответить
                  • реквестую ссылкоту на дистры

                    terminus шо песдец, долбанный болгарин даже не потрудился временные файлы поудалять, закатал их сразу в инсталлятор
                    Consolas here
                    Ответить
                    • Monaco: http://www.gringod.com/2006/02/24/return-of-monacottf/
                      Inconsolata: http://www.levien.com/type/myfonts/inconsolata.html
                      Тут можно посмотреть без установки http://hivelogic.com/articles/top-10-programming-fonts/
                      Одно время доставлял Monofur
                      Ответить
                    • http://dl.dropbox.com/u/4275844/DroidSansMonoDense.ttf - допиленный с интервалами под мою студию
                      оригиналы тут http://www.droidfonts.com/droidfonts/
                      Ответить
                      • хм, несвободный?
                        Ответить
                        • Apache License 2.0
                          Ответить
                          • видимо, утекли шрифты, потому что рядом он толкает pro верзию за 30$
                            Ответить
                            • http://en.wikipedia.org/wiki/Droid_(font)#External_links
                              можно скачать с гитхаба, проверил, ссылка работает
                              зачем нужна про версия - я не дизайнер, я не знаю :)
                              Ответить
              • > =3

                У меня подлиннее будет.
                Ответить
          • Зато в паскале нельзя сделать так:
            i = i++ + i++
            Ответить
            • честно сказать мне до сих пор не хватает в дельфи ++/--. Несмотря на то (или вернее потому), что я сторонник понятного и простого кода. а если не злоупотреблять, то код читабельнее...
              кстати в С можно написать i = ----------------------------i - i--; очень читабельно, не так ли?
              Ответить
        • не должно быть повторного использования операнда в строке, если к нему применяется модификация, например ++ или -= и тд.
          Ответить
          • Скорее, нужно запрещать любое, что приведёт к UB. Вроде как набор правил формализуем, можно поручить компилятору.
            Ответить
    • где тут C++?
      Ответить
    • >index_pervogo_elementa_posledovatelnost i
      >element_iskomoi_posledovatelnosti
      о_о
      Комментарии в коде? Не, не слышал.
      Ответить
    • ЫЫЫ
      Ответить
    • показать все, что скрытоAll Best Runoff Stupid search Nagovnokodit! Reviews
      Or have found themselves squeezed out of the code, which can not be called normal, in which, without a smile will not look? Do not rush to remove it or refactor, - posted it on govnokod.ru, laugh together!
      Ответить
    • показать все, что скрытоvanished
      Ответить

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