Кресты / Говнокод #8758 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
bool f = true;
  short c0 = a0, c1 = a1, c2 = a2, c3 = a3;
  if (a0 < c1) { f = false; a0 = c1; a1 = c0 - c1; a2 = c1 - c2; a3 = c1 - c3; }
  if (a0 < c2) { f = false; a0 = c2; a1 = c2 - c1; a2 = c0 - c2; a3 = c2 - c3; }
  if (a0 < c3) { f = false; a0 = c3; a1 = c3 - c1; a2 = c3 - c2; a3 = c0 - c3; }
  if (f)                  { a0 = c0; a1 = c0 - c1; a2 = c0 - c2; a3 = c0 - c3; }

Чувак не знает про else / else if. :(

Запостил: pewpew pewpew, (Updated )

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

  • >Чувак не знает про else / else if
    А про абстрактные вычислительные машины слышал?
    Ответить
      • та ладно ни всё так запущена на пэхэпэ пока что есчо не программируют мышкай
        Ответить
  • Реквестирую код через else if (т.е. без переменной f), который будет давать те же результаты и будет короче исходного.
    Ответить
    • short c0 = a0, c1 = a1, c2 = a2, c3 = a3,d = 0;
        if (a0 < c1) { ++d; 	a0 = c1; a1 = c0 - c1; a2 = c1 - c2; a3 = c1 - c3; }
        if (a0 < c2) { ++d; 	a0 = c2; a1 = c2 - c1; a2 = c0 - c2; a3 = c2 - c3; }
        if (a0 < c3) { 	a0 = c3; a1 = c3 - c1; a2 = c3 - c2; a3 = c0 - c3; }
        else if (d==0){ 	a0 = c0; a1 = c0 - c1; a2 = c0 - c2; a3 = c0 - c3; }

      Вот. Распишитесь в получении.
      Ответить
  • дык там a0 вроде может в вышестоящем условии измениться, повидимому так и было задумано
    Ответить
  • гавно потому, что код сложен и написан "непофеншую"... и реализация через else if, как уже сказали не эквивалентна... можно было бы циклом от 0 до 4 записать, если бы операции внутри цикла поддавались общему закону, но...
    Ответить
  • Вы все говнокодеры, ваш код компилятор шатал! Ни хуя не шарите!11 гсом!
    Ответить
  • А каков геометрический смысл этого кода? Сортировка трёх чисел?
    Ответить
  • только мне очевидно, что среди c0..c3 выбирается максимальный и от этого зависит таинственная работа с числами?
    Ответить
    • Дружище, если тебе очевиден весь алгоритм - ты не держи это в себе, поделись с нами.

      Если же тебе очевидно, например, что все переменные кроме f - имеют тип short, а f - это флаг от которого зависит последняя стадия - то этим никого тут не удивишь.
      Полагаю алгоритм - для работы с матрицами, потому правильная реализация ОБЯЗАННА содержать массивы, циклы.
      Ответить
  • short c0 = a0, c1 = a1, c2 = a2, c3 = a3;
    (a0 < c1) ? a0 = c1, a1 = c0 - c1, a2 = c1 - c2, a3 = c1 - c3 :
    (a0 < c2) ? a0 = c2, a1 = c2 - c1, a2 = c0 - c2, a3 = c2 - c3 :
    (a0 < c3) ? a0 = c3, a1 = c3 - c1, a2 = c3 - c2, a3 = c0 - c3 :
    a0 = c0, a1 = c0 - c1, a2 = c0 - c2, a3 = c0 - c3;
    Ответить
  • зато сколько плюсов наставили морозу, смотрю тут одни знатоки собрались...
    Ответить
  • Чувак не знает про #define MACRO_NAME(x)
    =\ Жаль что комментирование здесь часто сводится к срачам типа "Я Д'Артаньян, а вы - толпа быдлокодеров!". Интересные замечания и адекватные решения неумело решенных задач - большая редкость...
    Ответить

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

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8