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

    −431.7

    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
    // 
    //********************************* ПАДЕЖИ *************************************** 
    // 
    // (c) Jurer Production Begin ( Start ) 
    
    // SuperJur.Narod.Ru 
    // __________________________________________________________________ 
    // Удаление этих строк незнаконно! 
    // Гарантия 91 года и 1 месяц!!! 
    // Послегарантийное обслуживание - бесплатно!!! 
    // Круглосуточная поддержка - все 48 часов в бою! 
    // Ссылка на источник обязательна! 
    // Эти программы защищены законом об авторских правах. Запрещается перепродажа данной программы. 
    // ПРОВЕРЕНО! ВИРУСОВ НЕТ!!! АНТИВИРУСОВ ТОЖЕ!!! 
    // Смотри Милячуша в творительном !! 
    // скупой слепой тупой - пропой!! 
    // !№№! 
    // !53! Очередное сокращение кода 
    // !51! Прегромадное спасибо Олегу Дубровскому за оказанную моральную, информационную и материальную поддержку сего проекта. 
    // Сергею Толкачёву за напоминание о том, что в русском языке всегда есть место исключениям! 
    // !50! П:Ответственный за электрохозяйство Ф:Ацута Груша 
    // !48! исправлена ошибка при склонении фамилий (спасибо, Mario). 
    // !47! исправлена ошибка при склонении профессий ( спасибо, Павел Ковалев). 
    // !46! оптимизация + четвертый параметр задает, что вернуть - фамилия, имя или отчество или всё сразу в нужном падеже 
    // !42! Осел + Соловей + Воробей + Немец + Кормилец + Силиец 
    // !41! отчества оканчивающиеся на "ы" считаются женскими ? 
    // Функция для склонения одного слова!!! 
    // z1 - само слово 
    // z2 - номер падежа 
    // z3 - пол 
    // z4 - 1-склонять как фамилию, 2-имя, 3-отчество 
    Функция ПадежС(z1,Знач z2=2,Знач z3="*",z4=0) Экспорт 
     z5=Найти(z1,"-"); 
     z6=?(z5=0,"","-"+ПадежС(Сред(z1,z5+1,СтрДлина(z1)-z5+1),z2,z3,z4)); 
     z1=НРег(?(z5=0,z1,Лев(z1,z5-1))); 
     z7=Прав(z1,3);z8=Прав(z7,2);z9=Прав(z8,1); 
     z5=СтрДлина(z1); 
     za=Найти("ая ия ел ок яц ий па да ца ша ба та га ка",z8); 
     zb=Найти("аеёийоуэюяжнгхкчшщ",Лев(z7,1)); 
     zc=Макс(z2,-z2); 
     zd=?(za=4,5,Найти("айяь",z9)); 
     zd=?((zc=1)или(z9=".")или((z4=2)и(Найти("оиеу"+?(z3="ч","","бвгджзклмнпрстфхцчшщъ"),z9)>0))или((z4=1)и(Найти("мия мяэ лия кия жая лея",z7)>0)),9,?((zd=4)и(z3="ч"),2,?(z4=1,?(Найти("оеиую",z9)+Найти("их ых аа еа ёа иа оа уа ыа эа юа яа",z8)>0,9,?(z3<>"ч",?(za=1,7,?(z9="а",?(za>18,1,6),9)),?(((Найти("ой ый",z8)>0)и(z5>4)и(Прав(z1,4)<>"опой"))или((zb>10)и(za=16)),8,zd))),zd))); 
     ze=Найти("лец вей бей дец пец мец нец рец вец аец иец ыец бер",z7); 
     zf=?((zd=8)и(zc<>5),?((zb>15)или(Найти("жий ний",z7)>0),"е","о"),?(z1="лев","ьв",?((Найти("аеёийоуэюя",Сред(z1,z5-3 ,1))=0)и((zb>11)или(zb=0))и(ze<>45),"",?(za=7,"л",?(za=10,"к",?(za=13,"йц",?(ze=0,"",?(ze<12,"ь"+?(ze=1,"ц",""),?(ze<37,"ц",?(ze<49,"йц","р")))))))))); 
     zf=?((zd=9)или((z4=3)и(z3="ы")),z1,Лев(z1,z5-?((zd>6)или(zf<>""),2,?(zd>0,1,0)))+zf+СокрП(Сред("а у а "+Сред("оыые",Найти("внч",z9)+1,1)+"ме "+?(Найти("гжкхш",Лев(z8,1))>0,"и","ы")+" е у ойе я ю я ем"+?(za=16,"и","е")+" и е ю ейе и и ь ьюи и и ю ейи ойойу ойойойойуюойойгомуго"+?((zf="е")или(za=16)или((zb>12)и(zb<16)),"и","ы")+"мм",10*zd+2*zc-3,2))); 
     Возврат ?(""=z1,"",?(z4>0,ВРег(Лев(zf,1))+?((z2<0)и(z4>1),".",Сред(zf,2)),zf)+z6); 
    КонецФункции 
     
    //_____________________________________________________________________________ 
    // z1 - фамилия имя отчество например Железняков Юрий Юрьевич 
    // z2 - Падеж ( по умолчанию = 2 - родительный) 
    // 2 - родительный ( нет кого? ) Железнякова Юрия Юрьевича 
    
    ...........
    
    // 
    // (c) Jurer Production End ( Finish )

    И мне это на javу нужно переписать :'(

    Запостил: Tanger, 06 Сентября 2009

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

    • я тоже раньше анекдоты в комментах писал
      Ответить
    • я писал модуль склонения вообще любых слов русского языка на C# за 1 день

      а здесь столько пафоса в комментах, как будто прошивка для лунохода пишется :)
      Ответить
    • тем более что исполнение блевабельно донельзя
      Ответить
      • Работает? Работает. Сосите хуй. На код вообще настрать.
        Ответить
    • Господи.. а в чём проблема-то?? Что тут переводить-то?? Пафоса больше :)
      Я вот писал в своё время автоматический переводчик вычислений с Fortran на Delphi.. вот это была тема :))
      Ответить
    • ну эт психлогия. Когда есть уже какой то код, ты его сначала пробуешь переписать, если такая задача. Потом подзаебавшись плюешь на него и пишешь свое с нуля. Бывает и такое :(

      Оффтоп: Этот 1с своими русскими скриптами убивает наповал, а тем более такой блювотиной. Простите если кого обидел
      Ответить
      • Нормальный код в 1С.
        В давние времена в России говорили на французском....
        Ответить
      • В 1С всегда можно было и на латинице писать.
        Но 1С с текстом латиницей точно убивает наповал.
        Ответить
    • Зато оно прекрасно воркает иен в одной конфиге ;)
      Ответить
    • SuperJur.Narod.Ru - cсупер!
      Ответить
    • <a href=https://loveawake.ru>dating app questions </a>
      Ответить
    • > "лец вей бей дец пец мец
      бабушка здорова!
      Ответить
    • >аеёийоуэюя
      иёееее
      иёеееееее
      аиё
      ауе
      иёе
      Ответить
    • >Right(z1,1)="ы"
      паттерн "Special Case"
      Ответить

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