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

    +166

    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
    for (i=0; i<n; i++){
    		for (int j=0; j<n; j++){
    			if (x[i]>x[j] && x[i]-x[j] > zx && (y[i]>y[j] && y[i]-y[j] > zy) || (y[i]<y[j] && y[j]-y[i] > zy)){
    				zx = x[i] - x[j]; a1=i; a2=j;
    				if (y[i]>y[j] && y[i]-y[j] > zy && sum < zx + (y[i]-y[j])) zy = y[i] - y[j]; b1=i; b2=j; sum = zx + zy;
    				if (y[i]<y[j] && y[j]-y[i] > zy && sum < zx + (y[j]-y[i])) zy = y[j] - y[i]; b1=i; b2=j; sum = zx + zy;
    			}
    			if (x[i]<x[j] && x[j]-x[i] > zx && (y[i]>y[j] && y[i]-y[j] > zy) || (y[i]<y[j] && y[j]-y[i] > zy)){
    				zx = x[j] - x[i]; a1=i; a2=j;
    				if (y[i]>y[j] && y[i]-y[j] > zy && sum < zx + (y[i]-y[j])) zy = y[i] - y[j]; b1=i; b2=j; sum = zx + zy;
    				if (y[i]<y[j] && y[j]-y[i] > zy && sum < zx + (y[j]-y[i])) zy = y[j] - y[i]; b1=i; b2=j; sum = zx + zy;
    			}
    		}
    	}

    нахождение координат двух наиболее отдаленных точек среди заданных=)

    Запостил: ALIVE-SpiriT, 28 Декабря 2010

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

    • Что-то я не увидел здесь квадратов разностей координат.
      Ответить
      • А кто сказал, что пространство евклидово? Метрикой можно назначить любую функцию r, удовлетворяющую свойствам:
        1. r(x, y) = 0 тогда и только тогда, когда x=y;
        2. r(x, y) = r(y, x) (симметрия);
        3. r(a, c) <= r(a, b) + r(b, c) (неравенство треугольника).
        Осталось дело за малым: найти в этом коде метрику и проверить её соответствие свойствам.

        У меня такое ощущение, что автор пытался реализовать «метрику такси» r(z_i, z_j) = |x_i - x_j| + |y_i - y_j|, но наговнокодил.
        Ответить
    • > x[i]>x[j] && x[i]-x[j] > zx

      Не могу понять первого уточнения даже с точки зрения скорости.
      Ответить
      • Насколько я понимаю, это сильно искривлённое пространство, очень сильно искривлённое. :-)
        Ответить
      • zx может быть отрицательным. Скорее всего перед циклом оно как раз так и инициализируется, хотя можно было инициализировать нулём.
        А код — образец случая, когда автор не желает учить ни геометрию (поэтому мы не увидели квадратов координат), ни алгебру (поэтому вместо модулей мы увидели ифы с неравенствами). Подход кульхацкера.
        Ответить
        • сори, надо было быстро чтото написать, С++ углубленно учили в предыдущем семестре, когда препод вообще не появлялся на пары, поетому пришлось писать то, что умели=)
          Ответить
          • Когда препод не появляется, беда...
            Здесь дело не столько в С++, сколько в том, что матан-наци негодует.
            А код энциклопедичен своей наивностью. Подобное, пожалуй, у каждого бывает, только не все сознаются...
            Ответить
            • да, алгоритм бредовый, и не находити верного результата с алгебраичной и геометричной точностью... но хоть что-то теоретически по логическому мышлению правильное находит)

              сейчас жалеем что препод не появлялся... тогда выглядело халявой, но теперь сказывается на теперешних лабах
              Ответить
          • не знал, что С++ можно изучить углубленно за 1 семестр)
            Ответить
            • Вот потому мы и не нашли в коде C++. Это был интенсивный курс маскировки C++ под Си.
              Ответить
            • за 2 семестра) но один семестр препод не являлся)
              Ответить
              • мне кажется что за 2 семестра даже на VBA трудно научится ХОРОШО программировать
                а с++ один из самых сложных языков...
                Ответить
                • на VBA можно ХОРОШО программировать?
                  Ответить
                • не спорю, С++ нужно изучать наверное всю жизнь... но у нас в универе на это отведено лишь два семестра, как и на ассемблер(
                  Ответить
    • тогда была очень сильная запара в универе, да и препод, которому сдавали, уж очень задолбал, вот и решил сделать ему попроще, но понепонятливее=)
      наибольшее расстояние ищется здесь как сума разниц координат, в zx и zy сохраняется текущее наибольшее значение соответственно иксов и игреков
      Ответить
      • Автор?
        Если так, то я тебя поздравляю - ты первый автор, пришедший сюда не с обкладыванием всех хуями. Короче, уважуха тебе.
        Ответить
        • да, тема хуёв не раскрыта.
          Ответить
        • спасибо)) да, автор, и не отрицаю что вышел у меня все-же говнокод)))
          Ответить
          • Вы гордитесь этим? ))
            Ответить
            • да кагбе недавно чтото искал среди старого, и офигел от этого алгоритма))) не сильно горжусь, но красиво выглядит)))
              Ответить
    • еще вместо for (int j=0; j<n; j++) надо бы for (int j=0; j<i; j++)
      Ответить
    • показать все, что скрытоС++ говно и не более. Сосёт вообще у всех языков и хуёв.
      Ответить
      • полегче на поворотах, прежде чем постишь обосновывай
        Я с таким же успехом могу сказать, что все кроме Си шлак и УГ
        Ответить
        • показать все, что скрыто"C++ — довольно таки примитивное, но монстровое поделие, полное исторически сложившихся нелепых нагромождений. Человек, который хорошо в нем ориентируется — это хорошее зубрилко, а не хороший программист. Умение героически преодолевать трудности, которые создает твой собственный инструмент, вместо того, чтобы решать непосредственно прикладную задачу, в современном мире ценится разве что только среди прыщавых сосок. Работодатель же это сомнительное умение не ценит, и совершенно справедливо. В общем, так: хороший программист обязан знать Си. Хороший программист может знать C++, но это не обязательно уже. Главное, чтоб C и C++ не были единственными доступными программисту инструментами — иначе это адски паршивый программист."

          Луговский
          Ответить
          • Бред сивой кобылы, написанный видимо на самом деле не особо хорошим программистом. И чего уж такого сверхъестественного надо знать чтобы писать на Си++? А я могу сказать, что совсем немного, не обязательно знать именно все, к тому же все никогда и не требуется. И какие трудности создает Си++!? O__o по моему его и создали, чтобы ускорить создание кода на Си и наоборот сделать его красивее (ну к примеру уже при грамотной реализации отпадает потребность в глобальных переменных). Разработчики стандарта Си++ придерживались тенденций полиморфизма, инкапсуляции и наследования. Не осмелюсь сказать ,что это получилось у них идеально, но все таки на Си++ по статистке пишет намного больше людей чем на том же самом Дельфи. И именно на основе такого "хренового" языка возникли другие более высокоуровневые. И вы будете утверждать, что это все случайное стечение обстоятельств и все считают, что Си++ "говно", но при этом продолжают им пользоваться и берут его за основу для других языков? Короче бред полный написан даже комментировать не хочу.
            Ответить
            • показать все, что скрытоНет, это не случайно стечение. Это такой онанизм - выбирать самый сложный инструмент, чтобы казаться круче.
              Писать программы на чистом английском не круто, а вот если код состоит из закорючек, то сразу хуй удлиняется.
              Вот и весь секрет популярности С.
              Ответить
              • Не говорите за всех. Некоторым этими как вы выражаетесь "закорючками" писать удобнее чем словами (И к слову, читать тоже удобнее). А что круто / не круто, это извините аргументы для школоты.
                Ответить
                • О да, читать закорючки так удобно.
                  Вопрос: почему дельфистам достаточно 2 пробелов на отступ и слово бегин на одной строке с условием, а сипипистам и 4 пробелов мало, и от керригановкого { на одной строке с условием отказываются?
                  Ответить
                  • > бегин на одной строке с усло
                    в керниганскую ересь впадаешь, нечистый!
                    Ответить
                  • Причём тут форматирование и язык? Или для Вас это одно и тоже?
                    Мы же не о whiteSpace-языках говорим.
                    Ответить
                    • показать все, что скрыто> Причём тут форматирование и язык?

                      Про Питон ещё задай этот вопрос. До тебя действительно не доходит, причём, или ты просто троллишь?
                      Ответить
                      • > или ты просто троллишь
                        по моему как раз наоборот, причем уже не тонко.
                        Ответить
                      • Питон поддерживает отступы для группировки операторов. Я знаю. Там форматирование важно.

                        Но ещё раз повторю:
                        >Мы же не о WhiteSpace-языках говорим.
                        Ответить
                  • > О да, читать закорючки так удобно.
                    Да удобно, только не надо тут рассказывать, что код на Си представляет для всех случайный набор символов, как это кажется тебе.
                    Вторая часть вопроса вообще странная, стиль написания кода у Си разных программистов немного отличается.
                    Некоторые любят так:
                    void f(){
                    }
                    а некоторые так:
                    void f()
                    {
                    }
                    И собственно не понятно чего ты хочешь доказать.
                    По поводу пробелов в табуляции - дк эх в нормальная среда сама выставляет, а не программист по клавише лупит. Кстати их количество не постоянна во многих средах и зависит, к примеру, от уровня ветвлений.
                    Ответить
                    • капитан, юзайте [code]
                      Ответить
                    • КЭП говорит, что особенности языка формируют стиль форматирования. То, что дельфинам хватает 2 пробелов (а сишникам и 4 не хватает), говорит о том, что бегин-енд читается лучше, чем фигурные скобочки.
                      Ответить
                      • O__o железная логика.
                        Ответить
                        • Ты не видишь связи? Тогда извини, я не умею спорить с человеком, не умеющим делать логические заключения.
                          Ответить
                          • Мда... Просто лень сейчас бытовой пример придумывать для всего этого (чтобы показать бессмысленность этого высказывания), но никакого логического заключения из твоего высказывания сделать нельзя, кроме твоего незнания основ логики.
                            Ответить
              • Ну, давайте ещё представим, чтобы математические выражения писались на чистом английском.
                Ответить
                • тогда уж на немецком, ибо англосаксонский мозг не приспособлен к матану и речевые центры тоже не очень
                  Ответить
          • Да и то этот Луговский если не секрет? Я такого не знаю.
            Ответить
            • прыщавая соска, засветившаяся на лукоморье, пропагандирующая комон лисп
              http://lurkmore.ru/Список_цитат_Луговского
              Ответить
          • не стоит тратить время на лукоморье
            почитай лучше матан или прошедшие мимо произведения школьной литературы
            а уж темболее не стоит бросаться цитатами сомнительных личностей
            Ответить
            • +1
              Вот есть книги в стиле "рыбак рыбаку". А вот луркморье это как "придурки пишут для придурков". И вообще не могу понять почему он приобрел такую популярность. Неужели в нашей России народ уже на таком уровне... ужос... вот и задумаешься.
              Ответить
              • уровень народа здесь не причём
                среди народа встречаются люди разного уровня: от имбицилов, до гениев
                лукоморье ищет свою аудиторию среди всего этого разнообразия масс
                Ответить
            • Это не с лурка цитата, а с скл.ру
              Ответить
          • на С++ больше программируют, чем на языке, который он советовал миру
            так что фраза верна
            >Работодатель же это сомнительное умение не ценит
            но с точностью до наоборот (частицу не следует убрать)
            Ответить
            • ему просто было неприятно, что он не знал С++, а знал другой, по тем временам, почти никому не нужный, язык и его не брали на работу
              вот и срал на С++ по всем форумам Интернета
              Ответить
            • Согласен на все 100 и слово "сомнительное" тоже надо зачеркнуть.
              Ответить
              • >Умение героически преодолевать трудности, которые создает твой собственный инструмент - сомнительное умение
                всё же некоторые трудности С++ создаёт на пустом месте, соглашусь
                местами они могут интерпретироваться двояко (как + и как - )
                часть проблем С++ решена в языке D (в рамках императивного программирования, я сейчас не говорю про функциональное)
                рекомендую взглянуть на днях в сторону языка D, он похож на С++ и является его приемником, хотя пока до конца не закончен
                то, что следуюшая книга Андрея Александреску (главного С++ "извращенца") выйдет именно по языку D, говорит о том, что что-то в этом языке есть
                Ответить
                • показать все, что скрытоЯзык Дэ мне не нравится сборкой мусора, которая перечёркивает все его достоинства.
                  Ответить
                  • не скажу, что в нем всё деально
                    Ответить
                  • и помоему, сборка мусора в нём опциональная
                    Ответить
                    • Тогда жить можно.
                      Кстати, в Аде, вроде, тоже - уборщик отрубаемый (собственно и правильно ибо уборщик нарушает требования надёжности). Язык тоже с кучей фич, наследник Паскаля, применяется в очень интересных сферах, платят за него, думаю, нехило.
                      Ответить
                  • Александреску - поразительное существо! Все, чего он коснется - превращается в С++говно. "Царь Мидас" нашего столетия.
                    Ответить
                • Александреску (главного С++ "извращенца")

                  Без кавычек надо писать, у него действительно проблемы с психикой.
                  Ответить
                  • ты его личный психиатор? или, может, быть его мама? всё о нём знаешь?
                    Ответить
              • проблемы C++ не возможно заметить, если не программируешь на других языках
                эти прооблемы, действительно, к сожалению есть
                я жду действий от комитета стандартизации С++, но он как всегда медлит
                многие проблемы будут решены лишь через пяток - другой лет
                для ИТ технологий это медлено (в соседней ветке на медлительности попался дельфи)
                часть проблем так и не будет никогда решена в силу исторических абстоятельств
                Ответить
                • Проблемы конечно есть в отдельных местах (как и в других языках), но они не позволяют здравомыслящему человеку говорить, то что проповедует тов. Луговский.
                  Ответить
                  • показать все, что скрытоОн гоняет на Bugatti. Ест золотой ложкой черную икру килограммами. И, разумеется, все это не в парашке происходит. А чего добился ты, лакей Страуструпа?
                    Ответить
                    • >Ест золотой ложкой черную икру килограммами
                      >А чего добился ты?
                      уровень реализации человеческих целей не зависит от уровня материального потребления
                      Ответить
                    • А мне насрать на чем он там гоняет.
                      Ответить
                    • Вообще доход это не показатель уровня знаний, а в нашем жестоком мире скорее хитрости и наглости. Я лично сплошь и рядом вижу в своей жизни обратные примеры.
                      Ответить
                      • Вы разговариваете с наглым и хитрым, так что аргументы не будут услышаны им сейчас.
                        Он их слышит, только когда ему это будет нужно ради выгоды.
                        Ответить
    • Я лучший язык из всех существующих языков на планете!
      Ответить
      • к теме обсуждения это не относится, это писал не я (пароль от логина утёк, впрочем я не против)
        Ответить
    • показать все, что скрытосъеби
      Ответить
    • показать все, что скрыто_
      Ответить
      • Либо у тебя раздвоение личности, либо из под однного логина пишет несколько человек.
        Ответить
        • показать все, что скрытоиди блеать дрочи на свой сипипи пидар несчастный
          Ответить
          • Слышь, урюк, тебе по ходу мозгов не хватило ничего поумнее оскорбления написать, бывает, не без придурков в этом мире живем. Ибо за отсутствием аргументов /*и мозгов*/ они просто выбирают себе сторону и тупо обсирают всех с ней не согласных. Это даже не тролль ибо удовольствие это может доставить лишь человеку с отклонениями определенного рода.
            Ответить
        • http://govnokod.ru/5086#comment67255
          - тут же сказано, что пароль о логина утерян и известен всем на этом форуме.
          Но у некоторых личностей чешется и как только появляются "противные любители С++" - они начинают ананировать и использовать чужой пароль.
          Ответить
          • А чего тут сменить нельзя чтоли? тогда напиши админу.
            Ответить
            • А зачем? Это бот. :-[
              Ответить
              • O__o
                Ответить
                • Не бот (в смысле программа для общения), а просто дублированный никому не нужный лишний логин.
                  Ответить
                  • А чего тут разрешено два одинаковых ника делать? На мой взгляд если это так, то нужно срочно выпилить такую возможность.
                    Ответить
                    • показать все, что скрытоНик один, но пароль логина CPlusPlus доступен даже Вам: 123456.
                      Ответить
                      • Ммм... Опять спалил. Заминусуйте меня, пока никто опять не увидел, а то снова сейчас начнётся...
                        Ответить
                        • А ну понятно тогда теперь, но пользы от такого логина я не вижу. Читать просто когда все их под одного ника пишут неудобно.
                          Ответить
                          • Это не намного хуже, чем всему форуму с ника guest (аноним) писать.
                            Ответить
            • Когда гостей забанят - он какое-то время будет доступен. :D
              Ответить
    • показать все, что скрытоПомни, CPlusPlus, за тобой могут следить!
      Ответить
    • показать все, что скрытоWEBKILL ОТАКЕ!
      Ответить
    • показать все, что скрытоПомни, CPlusPlus, за тобой могут следить!
      Ответить
    • показать все, что скрытоWEBKILL ОТАКЕ!
      Ответить

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