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

    +64

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Товарищи, стоит задача: найти количество слов в строке.
     Автор  (http://programmersforum.ru/showthread.php?p=1269850#post1269850) просто делит строку по пробелам, затем
    подсчитывает кол-во слов.
    Я же,  говорю, что такой подход НЕПРАВИЛЕН,  т.к. в русском
    языке (да и не только) слова разделяются символами пунктуации, которые сами в состав слова не входят - следовательно, делить нужно по ним: 
     [code]" ' . , ! ?: ;  -  + <пробел> <табуляция> ( )[code]
     На меня сразу же наехали и поудаляли мои сообщения. Неужели я не прав?

    Баян все еще там: http://programmersforum.ru/showthread.php?p=1269850#post1269850

    Stertor, 28 Августа 2013

    Комментарии (35)
  2. Pascal / Говнокод #13692

    +136

    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
    type
        Potok = class(TThread)
      private
        FAcc : string;
        FPas : string;
        Ip   : string;
        Port : string;
        Rez  : Integer;
      protected
        procedure Execute; override;
      public
        procedure Sync;
        constructor Create(CreateSuspended: Boolean);
      end;
    
    var
      Form2: TForm2;
      Accounts, Proxy:Tstringlist;
      Thread, Acc:integer;
      Work:boolean;
      CS:TcriticalSection;
      GoodFile, BadFile: textfile;
      tp:integer;
      Balance, Login, Email:string;
      UserAg: array [0..20] of string=(
        'Mozilla/5.0 (Windows; U; Win98; en-US; rv:0.9.2) Gecko/20010726 Netscape6/6.1',
        'Mozilla/5.0 (Windows; U; Win9x; en; Stable) Gecko/20020911 Beonex/0.8.1-stable',
        'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/0.2.153.1 Safari/525.19',
        'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.4/Megaupload 3.0',
        'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.452) Gecko/20041027 Mnenhy/0.6.0.104',
        'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; iRider 2.21.1108; FDM)',
        'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MathPlayer2.0)',
        'Mozilla/5.0 (Windows; U;XMPP Tiscali Communicator v.10.0.1; Windows NT 5.1; it; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3',
        'Mozilla/5.0 (X11; U; Linux 2.4.2-2 i586; en-US; m18) Gecko/20010131 Netscape6/6.01',
        'Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.7.6) Gecko/20050405 Epiphany/1.6.1 (Ubuntu) (Ubuntu package 1.0.2)',
        'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.3) Gecko/20010801',
        'Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',
        'Mozilla/5.0 (Linux; U; Android 2.2; en-us; DROID2 GLOBAL Build/S273) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',
        'Mozilla/5.0 (Linux; U; Android 2.1-update1; de-de; E10i Build/2.0.2.A.0.24) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17',
        'Mozilla/5.0 (Linux; U; Android 2.2; nl-nl; Desire_A8181 Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',
        'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Google Wireless Transcoder;)',
        'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; Xbox)',
        'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)',
        'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0; InfoPath.2; InfoPath.3)',
        'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; winfx; .NET CLR 1.1.4322; .NET CLR 2.0.50727; Zune 2.0)',
        'Mozilla/4.0 (compatible; MSIE 5.01; Windows 95; MSIECrawler)'
      );
    
    implementation
    
    {$R *.dfm}

    Бля, говорят же, что нельзя пить и курить марихуану перед зачатием детей, иначе родятся наркоманами.

    Stertor, 28 Августа 2013

    Комментарии (30)
  3. Java / Говнокод #13691

    +133

    1. 1
    http://www.quizful.net/interview/java/k4gCs7Qmf8YF

    Мне кажется, или кто то накурился?

    если я не прав - обьяните(

    kegdan, 28 Августа 2013

    Комментарии (18)
  4. Си / Говнокод #13690

    +133

    1. 1
    hq->rd_period = (i = hq->rd_period+1) != 0 ? i : 1;

    что именно хотел сказать автор, неизвестно. предполагаю что `while (!++hq->rd_period);`

    Dummy00001, 28 Августа 2013

    Комментарии (9)
  5. Куча / Говнокод #13689

    +134

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    private static final String IPADDRESS_PATTERN =  
    "^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." + 
    "([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." + 
    "([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." + 
    "([01]?\\d\\d?|2[0-4]\\d|25[0-5])$";

    Сначала статья по регуляркам, а потом хороший, годный пример для ip)

    kegdan, 28 Августа 2013

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

    −92

    1. 1
    a < 5 and a or 5

    Вы все еще думаете, что сочетание and'а и or'а это тернарник? Тогда мы идем к вам :)

    http://ideone.com/qC0TyS

    bormand, 28 Августа 2013

    Комментарии (82)
  7. PHP / Говнокод #13687

    +151

    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
    /**
    * Magic method __get()
    * @param string $name The name of the payment options properties
    * @return string
    */
    public function &__get($name)
    { 
    	    if (isset($this->_properties[$name]) && is_scalar($this->_properties[$name]))
    	    {
    	        $property = $this->_properties[$name];
    	    }
    	    else
    	    {
    	        $property = &$this->_properties[$name];
    	    }
    	    
    	    return $property;
    }

    dimkich, 28 Августа 2013

    Комментарии (45)
  8. PHP / Говнокод #13685

    +155

    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
    <?php
    class Json_Encode {
        public function Encode($obj) {
            $str = "";
            $type = gettype($obj);
            if ($type == "array") {
                $fst = 1;
                
                if (array_keys($obj) !== range(0, count($obj) - 1)) {
                    $str .= "{";
                    foreach($obj as $id=>$el) {
                        if ($fst) {
                            $fst = 0;
                        } else {
                            $str .= ",";
                        }
                        $str .= "\"$id\":";
                        $str .= $this->Encode($el);
                    }
                    $str .= "}";            
                } else {
                    $str .= "[";
                    foreach($obj as $el) {
                        if ($fst) {
                            $fst = 0;
                        } else {
                            $str .= ",";
                        }
                        $str .= $this->Encode($el);
                    }
                    $str .= "]";            
                }
            } else if ($type == "string") {
                $str .= "\"$obj\"";
            } else if ($obj == null) {
                $str .= "null";
            } else {
                $str .= "$obj";
            }
            return $str;
        }
    }

    Листинг файла json_encode.php
    От души посмеялся.

    businessduck, 28 Августа 2013

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

    +15

    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
    #include <cstdio>
    #include <cstdlib>
    #include <fstream>
    // #include <cstring>
    #include <string>
    using namespace std;
    
    string exec = "\"c:\\Program Files (x86)\\GnuWin32\\bin\\wget.exe\"";
    string root = "http://techno.org/electronic-music-guide/";
    const char* flist = "list.txt";
    
    void getFile(string name)
    {
    	string command = exec + " " + root + name;
    	system(command.c_str());
    }
    
    int main(int argc, char* argv[])
    {
    	ifstream fin(flist);
    	string name = "";
    
    	while(true)
    	{
    		if (fin.eof()) break;
    		getline(fin, name);
    		getFile(name);
    	}
    	return 0;
    }

    Суть такова: ваш покорный слуга копался в исходниках этого: http://techno.org/electronic-music-guide/ -- ради музыкальных лупов на рингтон. Узнал, что это реализовано swf-модулями, список которых он добыл после объединения кучи скриптов и сортировки в NPP. Осталось лишь найти способ загрузить эти файлы по списку.
    Но искать было лень, поэтому реализовано подручными средствами: мозгом, компилятором и случайно попавшимся wget'ом (FTW).

    ckopo, 28 Августа 2013

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

    +120

    1. 1
    2. 2
    3. 3
    Раз уж у нас пошла мода на анальные уроки - выложу, пожалуй, еще одну ссылку:
    
    http://avtuh.ru/2010/04/09/delphi-dopolnitelnyj-potok-v-programme.html

    На видео анальный учитель с сайта avpetuh.r доходчиво объясняет, как нужно обращаться из потока к компонентам формы.
    Долой синхронизацию!!!

    Stertor, 27 Августа 2013

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