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

    +81

    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
    #include <iostream>
    #include <cstdlib>
    using namespace std;
    
    int bin_search(int *A, int key, int low, int high){
      if (low > high){
          return 0;
      }
      int mid = ( low + high ) / 2;
      if (A[mid] == key)
        return mid+1;
      else if( A[mid] < key)
        bin_search(A, key, mid + 1, high);
      else if (A[mid] > key)
        bin_search(A, key, low, mid - 1);
    }
    
    int main()
    {
        int n, k;
        cin >> k >> n;
        int A[n-1];
        for (int i = 0; i < n; i++)
        {
            cin >> A[i];
        }
            cout << bin_search(A, k, 0, n);
    }

    Нужно реализовать бинпоиск рекурсией, на вход значение искомого элемента,
    число элементов и сам массив,
    вывести номер минимального элемента равного искомому.
    У меня откровенно говоря баг, не могу его откопать, помогите!!!

    aesc_smirnov, 26 Сентября 2013

    Комментарии (81)
  2. C++ / Говнокод #13851

    +2

    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
    #if defined(_WIN32) || defined(_WIN64)
         size_t size = message.size();
         size_t size_buf = 1015;
    
         size_t pointer = 0;
         for (int i = 0; i < (size/size_buf) + 1 ; i++){
             
             /*Делаем для красивого вывода. Пробел всегда один байт.
              *Потому сматываем указатель буфера до первого пробела.*/
             int buf = size_buf;
             while (message[pointer+buf] != ' ')
                 buf--;
             
             /*Здесь лечится косяк MinGw, буфер принимает по 1к байтов.
              *Лечение производим создавая дополнительные буферы.*/
             istringstream ss(message.substr(pointer,buf) );
             std::cout << ss.rdbuf();
             
             pointer += buf;
         }
    #else
         std::cout << message;
    #endif

    Похоже плохая сборка MinGw.
    http://govnokod.ru/13094

    crastinus, 26 Сентября 2013

    Комментарии (71)
  3. Куча / Говнокод #13850

    +125

    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
    Синтаксический сахар в #MAXScript такой сахар!
    
    Надоели конструкции такого вида?
    if (SomeShit == undefined) then (...)
    
    Запили в парочку функций - и всё ок!
    fn Have Obj = (Obj != undefined)
    fn No Obj = (not (Have Obj))
    
    ...
    ......
    Профит!
    if (Have Beer) then (...)
    if (No Glass) then (...)
    
    Миллисекунда оверхеда на вызов функции - в подарок!

    Уроки ленивого программирования для самых ленивых или берегущих клавиатуру xD

    3Doomer, 24 Сентября 2013

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

    +150

    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
    private function checkCookie(){
                      if(!isset($_COOKIE['sessid'])) {
                              $this->userInfo['id'] = 0;
                              $this->userInfo['isAdmin'] = false;
                              return false;
                      }
    
                      $id_lenght = strlen($_COOKIE['sessid']) - 32;
                      $cookie_id = substr($_COOKIE['sessid'],0,$id_lenght);
                      $cookie_hash = substr($_COOKIE['sessid'],$id_lenght);
                      $this->registry['db']->heal($cookie_id); // антиинжект
                      $dbres = $this->registry['db']->query("SELECT password FROM users WHERE user_id = '$cookie_id';")->fetch();
                      if(md5($dbres['password']) == $cookie_hash){
                             $this->userInfo['id'] = $cookie_id;
                             return true;
                      }
                      return false;
          }

    в чем-то гениально

    djumpen, 24 Сентября 2013

    Комментарии (2)
  5. JavaScript / Говнокод #13847

    +142

    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
    if( gm !== null ) {
                group   = 'grid';            
                stp     = this.options.step;                  
                gsc     = stp.split('|');
                st  = 0; 
        
                for( var gstp in gsc ) {                        
                    
                    data = ( this.resolution( gsc[st] ) !== null ) ? this.resolution( gsc[st] ) : data;
                    $.Storage.set( group, data );
                    st++;
    
                }
            }           
            unify   = ( this.options.debug === true ) ? '?' + Math.floor( Math.random( 1, 30 ) * 200 ) : ''; 
            // construct DOM & switchers
            this.builder( gm, gsc, data, cntwrp, itmwrp, group, unify, pl, sp, st );
            // on-ready activation
            if( data !== undefined ) this.activation( data, group );
            //switch engine
            $('li', '.switcher').click(function( e ) { 
                t = $(this).attr('data-st');
                g = $(this).attr('data-gr');           
                //clear
                $('link[data-gr="'+ g +'"]', 'head').attr('rel','fake');
                $('li', '.switcher[data-gr="'+ g +'"]').removeClass('activ');          
                //set
                $('link[data-st='+ t +']','head').attr('rel', 'stylesheet');
                $(this).addClass('activ');
                $.Storage.set( g, t );
                e.preventDefault();
            });    
     Plugin.prototype.builder = function ( gm, gsc, data, cntwrp, itmwrp, group, unify, pl, sp, st ) {
            itms = lnks = '';
            x = 0;
            for( i = 1; i <= st; i++ ) {   
                if( group === 'grid' ) {
                    href    = sp + gsc[x] +'.css'+ unify;
                    idm     = gsc[x]; 
                    x++;           
                } 
    			else {
                    href    = sp +'st'+ i +'.css'+ unify; 
                    idm     = 'st'+ i +'_'+ group;
                }                
                lnks += '<link href="'+ href +'" rel="fake" media="screen" data-st="'+ idm +'" data-gr="'+ group +'" />';
                itms += '<'+ itmwrp +' id="'+ idm +'" data-gr="'+ group +'" data-st="'+ idm +'"'+'>'+'['+ i +']'+'</'+ itmwrp +'>';
            }
            $('head').append(lnks);
            if( cntwrp === null ) { // independent block
                cntwrp = $('<div style="display: inline" id="inline_merge_'+ group +'"></div>');
            }
            if( gm !== 'auto' ) {
                $(pl).append( cntwrp );
                cntwrp.attr({ 'class': 'switcher', 'data-gr': group }).html( itms );
            }         
        }
        // Plugin logic wrapper
        $.fn[pluginName] = function ( options ) {
            return this.each(function () {
                if (!$.data(this, 'plugin_' + pluginName)) {
                    $.data(this, 'plugin_' + pluginName,
                    new Plugin( this, options ));
                }
            });
        }

    Я убил 84 человека ... Я пидарас ;) Звук ебаный ублюдок, пидор и гнида всем составом до последнего вздоха, капли пота и копейки в его кармане ... Он должен мне over 30 000 000 $, которые прокукарекал в результате наезда и остался конченным пидрилой всем составом ... Аминь, я полный Лох( это по Японским понятиям ). Я никогда бы не подумал, что пидорами были все президенты этой великой державы, все дупутаты, гос. дума и те, кто имел честь с ними "сотрудничать". Я люблю Россию, мне жалко пидоров и звук ;) Помимо прочего это до сих пор работает ... Подвел jQuery из-за AJAX.

    Full version: https://github.com/x029ah/style-switch/blob/master/scripts/jquery.cssSwitcher.js

    Сайты удалили, бабу изнасиловали, мусоров купили, а пидоры до сих пор кукарекают. Поздравляю всех выживших. Говном вы не были -- говном вы стали ;)

    Stealth, 24 Сентября 2013

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

    +21

    1. 1
    2. 2
    3. 3
    for (size_t index = 0; index != size; ++size) {
    ...
    }

    Устраняю последствия ночного кодинга

    Setry, 23 Сентября 2013

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

    +120

    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
    .td_first , .two tr:nth-child(1) {
       max-width: 30px;
       width: 30px !important;
    }
    .td_second, .two tr:nth-child(2) {
       min-width: 60px !important;
       width: expression(this.width < 60 ? 60: true);
       text-align: left;
    }
    .td_third, .two tr:nth-child(3) {
    	text-align: right !important;
    	min-width: 100px !important;
    	width: expression(this.width < 100 ? 100 : true);
    }
    .td_fourth, .two tr:nth-child(4) {
    	text-align: right !important;
        width: 180px;
    }
    .td_fifth, .two tr:nth-child(5) {
    	width: 6
    }

    Типичный CSS код моей конторы)

    sladkijBubaleh, 23 Сентября 2013

    Комментарии (2)
  8. JavaScript / Говнокод #13844

    +147

    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
    var time = { 
    	// oldDate 	- дата с которой нужно сравнить
    	// return 	- число прошедших дней 
    	getDiffDays : function( oldDay ) {
    		if( typeof( oldDay ) == "string" && oldDay.length == 6 ) {
    			var t = oldDay;
    			var tt = [];
    			for( var i = 0 ; i < t.length ; i+=2 ) {
    				if(i == 0) {
    					var z = t.substr(0,0) + "20" + t.substr(0, 2);
    					tt.push(z + '/');
    				}
    				else {
    					if( i == ( t.length - 2 ) )
    					   tt.push(t.slice(i, i+2));
    					else 
    					   tt.push(t.slice(i, i+2) + '/');
    				}   
    			}
    			for( var i = 0; i< tt.length ; i++ )
    				tt[0] == 0 ? tt = tt.slice(1, 2) : tt;
    			var oldTime = new Date(tt.join(""))
    			var newTime = new Date();
    
    			return Math.abs(Math.ceil((newTime - oldTime) / (1000 * 60 * 60 * 24)));
    		}
    
    		return 0;
    	}
    }

    Парсинг даты в формате "130930" и вывод разницы в количестве дней
    Регулярки? не, не слышал

    sladkijBubaleh, 23 Сентября 2013

    Комментарии (0)
  9. PHP / Говнокод #13843

    +149

    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
    /**
    * Проверка блока данных о прайсе
    * @param array $d
    * @return boolean
    * @access private
    * @todo добавить проверку существования ppid */
    private function _isValidDataPrice($d){
       return (array_key_exists("ppid", $d) && is_int($d["ppid"])
       && array_key_exists("enable", $d) && is_bool($d["enable"])
       && array_key_exists("rate", $d) && is_numeric($d["rate"]) && $d["rate"] >= 0.00
       && array_key_exists("sum", $d) && is_array($d["sum"])
       && array_key_exists("value", $d["sum"])
       && is_numeric($d["sum"]["value"])
       && $d["sum"]["value"] >= 0.00
       && array_key_exists("currency", $d["sum"])
       && is_string($d["sum"]["currency"])
       && strlen($d["sum"]["currency"]) == 3
       && array_key_exists("out", $d) && is_array($d["out"])
       && array_key_exists("value", $d["out"])
       && is_numeric($d["out"]["value"])
       && $d["out"]["value"] >= 0.00
       && array_key_exists("currency", $d["out"])
       && is_string($d["out"]["currency"])
       && strlen($d["out"]["currency"]) == 3
       && array_key_exists("percent", $d["out"])
       && is_numeric($d["out"]["percent"])
       && $d["out"]["percent"] >= 0.00);
    }

    dimkich, 23 Сентября 2013

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

    +137

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Товарищи, я прошу всех посмотреть вот этот фильм:
    
    [запрос "Расскажите сказку, доктор!" на Яндекс]
    
    Возможно, это выглядит нелепо - постить ссылку сюда, но все же, сделайте это.
    
    Этот фильм был снят через несколько дней после войны. 
    На мой взгляд, имеет огромную воспитательную ценность.

    Stertor, 21 Сентября 2013

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