1. C# / Говнокод #19815

    +5

    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
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    var ls = new List<List<Tuple<Terminal, int>>>();
                var cl = new List<Tuple<Terminal, int>>();
                for (int i = 0; i < Template.Terminals.Count; i++)
                {
                    var term = Template.Terminals[i];
                    var s = term.Text;
                    if (s.Count(c => c == '\n' || c == '\r') > 0)
                    {
                        var arr = s.Split('\n', '\r');
                        for (var j = 0; j < arr.Length - 1; j++)
                        {
                            if (arr[j].Length == 0) arr[j] = " ";
                            cl.Add(Tuple.Create(new Terminal(arr[j], term), i));
                            ls.Add(cl);
                            cl = new List<Tuple<Terminal, int>>();
                        }
                        s = arr[arr.Length - 1];
                    }
                    cl.Add(Tuple.Create(new Terminal(s, term), i));
                }
                ls.Add(cl);
    
                var h = 0d;
                var renderLine = new List<Tuple<double, int, Terminal>>();
                var flag = false;
                foreach (var l in ls)
                {
                    renderLine = new List<Tuple<double, int, Terminal>>();
                    var w = 0d;
                    var lineH = 0d;
                    foreach (var term in l)
                    {
                        var ft = new FormattedText(term.Item1.Text, CultureInfo.CurrentCulture,
                            FlowDirection.LeftToRight, new Typeface("Verdana"), 10, Brushes.Black);
                        ft.Set(term.Item1);
                        lineH = Math.Max(lineH, ft.Height);
                        w += ft.WidthIncludingTrailingWhitespace;
                        renderLine.Add(Tuple.Create(w, term.Item2, term.Item1));
                    }
                    h += lineH;
                    if (p.Y < h) { flag = true; break; }
                }
                pp = p;
                InvalidateVisual();
                if (!flag)
                    return;
                flag = false;
                Tuple<double, int, Terminal> ct = null;
                foreach (var d in renderLine)
                    if (d.Item1 > p.X)
                    {
                        flag = true;
                        ct = d;
                        Debug.WriteLine(d.Item2);
                        _sTermEnd = _sTermStart = d.Item2;
                        break;
                    }
                if (!flag)
                    return;
                var ft1 = new FormattedText(ct.Item3.Text, CultureInfo.CurrentCulture,
                     FlowDirection.LeftToRight, new Typeface("Verdana"), 10, Brushes.Black);
                ft1.Set(ct.Item3);
                var sw = ct.Item1 - ft1.WidthIncludingTrailingWhitespace;
                for (int i = 0; i < ct.Item3.Text.Length; i++)
                {
                    var ch = ct.Item3.Text[i];
                    var ft2 = new FormattedText(ch.ToString(), CultureInfo.CurrentCulture,
                        FlowDirection.LeftToRight, new Typeface("Verdana"), 10, Brushes.Black);
                    ft2.Set(ct.Item3);
                    sw += ft2.WidthIncludingTrailingWhitespace;
                    if (sw > p.X)
                    {
                        Debug.WriteLine(i);
                        _sOffEnd = _sOffStart = i;
                        break;
                    }
                }

    qwe345asd, 13 Апреля 2016

    Комментарии (6)
  2. PHP / Говнокод #19814

    +1

    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
    $payments = $CI->payment_method_model->getAll();
    
        $payment = array();
        $payment[null] = array();
        $payment[null]['addr'] = " ";
        $payment[null]['perc'] = " ";
        $payment[null]['name'] = " ";
       
        foreach($payments->result() as $item)
        {
            $payment[$item->id] = array();
            $payment[$item->id]['addr'] = (json_decode($item->params,true));
            $payment[$item->id]['perc'] = $item->fee;
            $payment[$item->id]['name'] = $item->title;
        }

    No comments...
    Поддержка этого проекта вызывает душевную боль... :(

    GDim, 13 Апреля 2016

    Комментарии (4)
  3. C++ / Говнокод #19813

    +3

    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
    17. 17
    18. 18
    19. 19
    constexpr Vector(Vector&& vector) noexcept :
                x(vector.x), y(vector.y), z(vector.z)
            {
                vector.x = vector.y = vector.z = T();
            }
    
            constexpr Vector& operator=(Vector&& vector) noexcept
            {
                if (this == &vector)
                    return *this;
    
                x = vector.x;
                y = vector.y;
                z = vector.z;
    
                vector.x = vector.y = vector.z = T();
    
                return *this;
            }

    jangolare, 13 Апреля 2016

    Комментарии (6)
  4. 1C / Говнокод #19812

    −104

    1. 1
    На форме 31 колонка, и динозавр который это делал для каждой прописал одинаковое условное оформление. В конечном итоге я поместил все в цикл, чтобы не резало глаза, остается только предполагать, что я увидел бы если  колонок на форме было 1000.

    Процедура ДниПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)

    Если ЗначениеЗаполнено(ДанныеСтроки.Д1) Тогда
    Если ДанныеСтроки.Д1.СостояниеСобытия = Перечисления.СостоянияСобытий.Завершено Тогда
    ОформлениеСтроки.Ячейки.Д1.ЦветФона = WebЦвета.СветлоЗеленый;
    ИначеЕсли ДанныеСтроки.Д1.СостояниеСобытия = Перечисления.СостоянияСобытий.CRM_НеОбра ботано Тогда
    ОформлениеСтроки.Ячейки.Д1.ЦветФона = WebЦвета.СветлоРозовый;
    ИначеЕсли ДанныеСтроки.Д1.СостояниеСобытия = Перечисления.СостоянияСобытий.Запланиров ано Тогда
    ОформлениеСтроки.Ячейки.Д1.ЦветФона = WebЦвета.Желтый;
    КонецЕсли;
    ОформлениеСтроки.Ячейки.Д1.Текст = ДанныеСтроки.Д1.ОписаниеСобытия;
    Если ДанныеСтроки.Д1.ВидСобытия = Перечисления.ВидыСобытий.ЛичнаяВстреча Тогда
    ОформлениеСтроки.Ячейки.Д1.Шрифт = Новый Шрифт(ОформлениеСтроки.Ячейки.Д1.Шрифт,, ,Истина);
    КонецЕсли;
    КонецЕсли;

    ...

    // И так далее 31 раз

    ...


    Если ЗначениеЗаполнено(ДанныеСтроки.Д31) Тогда
    Если ДанныеСтроки.Д31.СостояниеСобытия = Перечисления.СостоянияСобытий.Завершено Тогда
    ОформлениеСтроки.Ячейки.Д31.ЦветФона = WebЦвета.СветлоЗеленый;
    ИначеЕсли ДанныеСтроки.Д31.СостояниеСобытия = Перечисления.СостоянияСобытий.CRM_НеОбра ботано Тогда
    ОформлениеСтроки.Ячейки.Д31.ЦветФона = WebЦвета.СветлоРозовый;
    ИначеЕсли ДанныеСтроки.Д31.СостояниеСобытия = Перечисления.СостоянияСобытий.Запланиров ано Тогда
    ОформлениеСтроки.Ячейки.Д31.ЦветФона = WebЦвета.Желтый;
    КонецЕсли;
    ОформлениеСтроки.Ячейки.Д31.Текст = ДанныеСтроки.Д31.ОписаниеСобытия;
    Если ДанныеСтроки.Д31.ВидСобытия = Перечисления.ВидыСобытий.ЛичнаяВстреча Тогда
    ОформлениеСтроки.Ячейки.Д31.Шрифт = Новый Шрифт(ОформлениеСтроки.Ячейки.Д31.Шрифт, ,,Истина);
    КонецЕсли;
    КонецЕсли;

    КонецПроцедуры

    1sik, 13 Апреля 2016

    Комментарии (7)
  5. C++ / Говнокод #19810

    +1

    1. 1
    2. 2
    3. 3
    sector_t * s = &sectors[secnum];
    if (!s->floorplane.isSlope()) s->reflect[sector_t::floor] = arg1/255.f;
    if (!s->ceilingplane.isSlope()) sectors[secnum].reflect[sector_t::ceiling] = arg2/255.f;

    присвоил переменной и во второй раз не использовал

    UsernameAK, 13 Апреля 2016

    Комментарии (64)
  6. C++ / Говнокод #19809

    −3

    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
    17. 17
    18. 18
    bool* sdvig_vpravo(bool* mas) {
    	if (mas[0] == 1 && mas[1] == 0 && mas[2] == 0) {
    		mas[0] = 0;
    		mas[1] = 1;
    		mas[2] = 0;
    	}
    	else if (mas[0] == 0 && mas[1] == 1 && mas[2] == 0) {
    		mas[0] = 0;
    		mas[1] = 0;
    		mas[2] = 1;
    	}
    	else if (mas[0] == 0 && mas[1] == 0 && mas[2] == 1) {
    		mas[0] = 1;
    		mas[1] = 0;
    		mas[2] = 0;
    	}
    	return mas;
    }

    Кольцевой сдвиг на один элемент булевского массива размерности 3. Возможно удивитесь, но этот великий костыль я сотворил на полном серьезе.

    petr_koshka23, 12 Апреля 2016

    Комментарии (16)
  7. Куча / Говнокод #19808

    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
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    object Main extends App {
      object Email {
        def apply(user: String, host: String) = user + "@" + host
        def unapply(input: String): Option[(String, String)] = {
          input.indexOf("@") match {
            case x if (x > 0) => Some((input.substring(0, x), input.substring(x + 1)))
            case _ => None
          }
        }
      }
    
      "[email protected]" match {
        case Email(user, host) => println("See user <" + user + "> at domain <" + host + ">")
        case _ => println("Well...")
      }
      "lol" match {
        case Email(user, host) => println("Wow... strange email")
        case _ => println("OK, <lol> is not an email")
      }
    }

    http://ideone.com/2xA5xW
    Искал во вконтакте свою страничку, а нашел это

    LispGovno, 12 Апреля 2016

    Комментарии (3)
  8. C++ / Говнокод #19807

    +3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    //g++  4.9.3
    
    #include <iostream>
    
    int main()
    {
        for(int ang = 0; ang < 360; ang++)
        {
            int test = ang * 5981849;
            std::cout << test << std::endl;
        }
    }

    http://rextester.com/IHBA32841

    LispGovno, 12 Апреля 2016

    Комментарии (25)
  9. C# / Говнокод #19806

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    for (int i = 0; i < arrayA.Length; i++)
    {
        arrayB[i] = arrayA[i];
        for (int j = 1; j < arrayB.Length; j++)
        {
            arrayB[j] = arrayB[j - 1] + arrayA[j];
        }
    
    
        Console.WriteLine(arrayB[i]);
    }

    Triangular Numbers

    douche, 12 Апреля 2016

    Комментарии (0)
  10. C# / Говнокод #19805

    +4

    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
    public static bool isSupportedFrameworkVersion()
    	{
    		try
    		{
    			string s = null;
    			string m = s + "";
    		}
    		catch
    		{
    			return false;
    		}
    		return true;
    	}

    Нашел в нашем проекте. Не поверил. Проверил. Взлолировал.
    http://ideone.com/laV7up

    LispGovno, 12 Апреля 2016

    Комментарии (69)