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

    +177

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    int arr[100][100];
    
    for (int i = 0; i < 100; i++) {
       for (int j = 0; j < 100; j++) {
           if (i == j) arr[i][j] = 0;
       }
    }

    Когда-то работал в универе и увидел у одной девочки в лабораторном отчете.
    Код обнуляет диагональ массива, если кто сразу не понял)

    Запостил: sotlef, 25 Июля 2011

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

    • ну и что? разве что можно было бы обойтись одним циклом, в случае квадратной матрицы
      Ответить
      • for ( int i = 0; i < 100; i++ ) arr[i][i] = 0;
        Ответить
        • да, спасибо за приложенную иллюстрацию
          Ответить
          • На матрице 100×100 ерунда. А если на больших...

            Что ты врёшь, что этот код безвредный? У меня от этой ерунды друг умер две недели ждал, когда программа досчитает, боялся комп выключить, а программа, курва, как назло зависла на середине вычислений. После рефакторинга программа отработала за несколько минут.
            Ответить
            • 18446744073709551615 x 18446744073709551615?
              Ответить
              • Давно это было. Точно уже не помню, сколько у него было. Программа моделировала распространение нанодефектов точечных, линейных дефектов и микротрещин в кристаллической решётке, поэтому там каждый косяк в оптимизации был критичен для времени отработки цикла.
                Ответить
                • > каждый косяк в оптимизации
                  звучит достаточно противоречиво, поскольку чаще всего оптимизация заключается в обмане пользователя упрощении модели и срезании углов.
                  Ответить
                  • "упрощении модели" не есть "упрощение реализации"
                    Ответить
                  • >чаще всего оптимизация заключается в упрощении модели.
                    Я конечно могу ошибаться но по-моему вы говорите о аппроксимации. Оптимизация чего-либо это уменьшение затраченного времени или ресурсов для выполнения одной и той же задачи без ухудшения показателей результата.
                    Ответить
    • Девочка... им простительно))
      Ответить
    • Какого х** зацикливает!! (с)
      Ответить
    • показать все, что скрытоТут был довольно длинный комментарий, который имел отношение к коду, обсуждал некоторые его аспекты и теоретические способы применения, полезность, а также бесполезность, но я решил, что пиписюнчик впишется сюда куда более гармонично, нежели вышеописанная бурда.
      Ответить
    • нормальный код! чо вам не нравится? наглядно и понятно. если скорость не критична то нормуль.
      Ответить
      • неужели ЭТО понятнее, чем
        > for ( int i = 0; i < 100; i++ ) arr[i][i] = 0;
        Ответить
      • А можно еще "наглядно и понятно" получить доступ к N-ому элементу:
        int el;
        for( int i=0; i<N; i++ )
        {
           el = arr[i];
        }
        // use el
        Ответить
        • for( int i=0; i<MAX; i++ )
          {
            if( i == N )
               el = arr[i];
          }

          Не надо искажать божественный замысел!
          Ответить
        • доступ fail
          int *el;
          for(int i = 0; i < N; ++i) el = arr + i;
          //use <el>

          найди десять отличий, блеать!
          Ответить
          • доступ бывает разный, дружочек, на чтение, на запись, или оба одновременно.
            Ответить
          • >//use <el>

            //use <force, Luke>
            Ответить
          • Думается мне, автор юзал эль до написания кода)))
            Ответить
            • Я сижу на говнокоде и жму Ф5, но новых комментов не появляется. Вы меня убиваете. Что делать?
              Ответить
              • Перестать перекладывать дела на других и убиться уже самому
                Ответить
                • Я думаю воспользоваться советом:
                  http://xn-----clcksaplxf6byd3cyb.xn--p1ai/
                  пиши-код-блять.рф
                  (это синонимы, я вас предупредил)
                  Ответить
    • показать все, что скрытоvanished
      Ответить

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