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

    +50

    1. 1
    2. 2
    3. 3
    []() { std::function<int(int)> foo = 
               [&foo](int k) { return k == 1 ? 1 : k + foo(k-1); }; 
               return foo; }()(3)

    Как написать рекурсивную лямбдру на крестах?

    TarasB, 26 Июля 2014

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

    +42

    1. 1
    if (sql->FieldByName("ID")->AsString > "0")

    bormand, 25 Июля 2014

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

    +35

    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
    main ()
    {
    system("COLOR 0A");
    double ob, x1 , x2 , y1 , y2, p1 , p2 , pi , skolko , status;
     
        system("echo Интерполяция X1 - X2 ");
        system("echo Ввести число:");
        cin >> ob;
     
        system("echo Например 62, C1 = 60, L1 = 1.31 ,C2 = 80 , L2 = 1.29");
        cout << "C1 = ";
               cin >> x1;
        cout << "L1 = " ;
               cin >> x2;
        cout << "C2 = " ;
               cin >> y1;
        cout << "L2 = " ;  
               cin >> y2;
     
          p1 = y1 - x1;
          p2 = y2 - x2;
     
        pi = p2 / p1;
          skolko = ob - x1;
          status = x2 + (pi * skolko);
     
        cout << "_______________________________________________________________";
        cout << endl <<  ob << " = " << status;
        _getch ();
        system("CLS");
     
        return 0;
    }

    с википедии
    вывод с помощью потока уникально сочетается с выводом путём вызова системных команд

    TarasB, 24 Июля 2014

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

    +41

    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
    catch(...)
    {	
    	static int j = 0;
    
    	//if we enter this catch clause more than 1 time
    	//it is very likely that the RestartSystem() command
    	//did not succeed. If this is the case we just exit.
    	if(j>0)
    		exit(0);
    	else
    		SWFMonitorT::GetInstance()->RestartSystem();
    	j++;
    	throw;
    }

    Приключения в мире байтоёбиков...

    blackhearted, 16 Июля 2014

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

    +51

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    int table[4];
    bool exists_in_table(int v)
    {
        for (int i = 0; i <= 4; i++) {
            if (table[i] == v) return true;
        }
        return false;
    }

    C хабра. Возвращает true для любых чисел. http://ideone.com/bL2vGQ
    Я конечно знаю что такое UB, но этот пример повеселил.

    kipar, 16 Июля 2014

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

    +26

    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
    #include "stdafx.h"
    #include <stdio.h>
    #include <iostream>
    #include <conio.h>
    using namespace std;
    int main(){
    	setlocale(0,"");
    	int mss[4][3] = {4,2,4,3,1,9,1,6,9,1,1,9};
    	
    	printf("Значение ячеек массива:\n");
    	cout<<mss[0][0]<<" "<<mss[0][1]<<" "<<mss[0][2]<<"\n";
    	cout<<mss[1][0]<<" "<<mss[1][1]<<" "<<mss[1][2]<<"\n";
    	cout<<mss[2][0]<<" "<<mss[2][1]<<" "<<mss[2][2]<<"\n";
    	cout<<mss[3][0]<<" "<<mss[3][1]<<" "<<mss[3][2]<<"\n\n";
    
    	int *p1=&mss[1][0], *p2=p1;
    	printf("Значения созданных указателей *p1 и *p2:\n");
    	cout<<*p1<<" "<<*p2<<"\n\n";
    
    	mss[3][*p1-1]=(mss[2][0]-3)*(*p1);
    	
    	printf("Значение mss[3][2] после присваивания ему значения (mss[2][0]-3)*(*p1):\n");
    	cout<<mss[3][2]<<"\n\n";
    
    	mss[0][2]++;
    	printf("Значение mss[0][2] после его инкремента:\n");
    	cout<<mss[0][2]<<"\n\n";
    
    	*p1=(!mss[3][0]<*p2)?5*mss[3][0]/4:mss[0][2]-mss[1][2];
    	printf("Значение *p1 после присваивания 5*1/4=5/4=1,25=1 по условию:\n");
    	cout<<*p1<<"\n\n";
    
    	*p1=*p2/(mss[0][0]+1);
    	printf("Значение *p1 после присваивания *p2/(mss[0][0]+1):\n");
    	cout<<*p1<<"\n\n";
    
    	*p1=mss[0][0];
    	printf("Значение *p1 после присваивания mss[0][0]:\n");
    	cout<<*p1<<"\n\n";
    	
    	p2=&mss[2][2];
    	printf("Значение p2 после присваивания &mss[2][2]:\n");
    	cout<<p2<<"\n\n";
    
    	*p2=*p2%4+mss[2][2];
    	printf("Значение *p2 после присваивания *p2%4+mss[2][2]:\n");
    	cout<<*p2<<"\n\n";
    
    	printf("Результирующие значения ячеек массива после всех вычислений:\n");
    	cout<<mss[0][0]<<" "<<mss[0][1]<<" "<<mss[0][2]<<"\n";
    	cout<<mss[1][0]<<" "<<mss[1][1]<<" "<<mss[1][2]<<"\n";
    	cout<<mss[2][0]<<" "<<mss[2][1]<<" "<<mss[2][2]<<"\n";
    	cout<<mss[3][0]<<" "<<mss[3][1]<<" "<<mss[3][2]<<"\n\n";
    
    	printf("[...Нажмите на любую клавишу для завершения работы программы...]");
    	_getch();
    }

    Я ХЗ, что это за долбонутая хренотень, но такое задание дали знакомому на экзамене, вместо которого пришлось это решать, да ещё так, что бы экзаменаторша поверила, что это сделал он ( я же ему писал и скидывал на ВК ). А он же в этом нуб похлеще меня ( я мало на плюсах писал ). Короче, это самое неэффективное и упоротое решение среди всех. Я нафига-то подключил тут conio.h, хотя его использовал 1 раз вместо system("pause"), которое было бы кстати. А ещё тут раньше было дофига комментариев, дабы чувак хоть что-то понял. Но этот код вышел в итоге настолько долбонутым, что эти комментарии даже его сделали нечитаемым вовсе. :DDDDDDD Один знакомый чувак, что на кодера учится, охренел от вида этого безобразия. Ещё одна упртсть - то, что я чередовал printf и cout. Ну и подключил в итоге лишнюю библиотеку, хотя можно было использовать что-то одно и не подключать всякую хрень. Короче, этот код ужасен. Но я писал и похлеще. :D Особенно когда пришлось однажды другому уже чуваку на ВК скидывать решения, которые я писал в блокнот с планшета с опечатками. Это было ужасно...

    CodeStar, 15 Июля 2014

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

    +26

    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
    char* bad_windows_list[kx] = {"Norton", "AVP","Anti","Vir"," McAfee","anti","vir", "firewall"};
    
    BOOL BadWindow(LPSTR strWindow)
    {
    BOOL res = FALSE;
    for (int i=0;i<kx;i++)
    if (strstr(strWindow,bad_windows_list[i])!=0) res = TRUE;
    return res;
    }
    BOOL CALLBACK WndEnumProcMine (HWND hwnd1,long l1)
    {
    LPTSTR str1 = new char[255];
    GetWindowText(hwnd1,str1,255);
    if (BadWindow(str1))
    {
    DWORD dwProcessId;
    GetWindowThreadProcessId(hwnd1,&dwProcessId);
    if (dwProcessId!=GetCurrentProcessId())
    {
    HANDLE hProcess = OpenProcess (PROCESS_ALL_ACCESS,FALSE, dwProcessId);
    TerminateProcess(hProcess,0);
    CloseHandle(hProcess);
    }
    }
    delete str1;
    return TRUE;
    }
    void EnumProcessesOther()
    {
    LPARAM c = 0;
    EnumWindows((WNDENUMPROC) WndEnumProcMine,c);
    }

    > {"Norton", "AVP","Anti","Vir"," McAfee","anti","vir", "firewall"}
    > TerminateProcess(hProcess,0);
    Наивный макак.

    http://www.makak.ru/2008/02/27/neslozhnyj-rezidentnyj-virus-cherv-na-c/

    gost, 15 Июля 2014

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

    +28

    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
    #include <iostream>
    using namespace std;
    
    int main()
    {
        int a; // Объявление статической переменной
        int b = 5; // Инициализация статической переменной b
    
        a = 10;
        b = a + b;
        cout << "b is " << b << endl;
        return 0;
    }

    Комментарии доставляют.
    http://code-live.ru/post/cpp-pointers/

    gost, 15 Июля 2014

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

    +28

    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
    TLSOSI7Command &TLSLongTelegram::GetOSI7Command () const
    {
       if(!m_pOSI7Command) { // private pointer not initialized
                  // WARNING! Quick'n'dirty! is UNINITIALIZED althoug it should be - just for preventing abnormal end!
                  const_cast<TLSOSI7Command*>(m_pOSI7Command)=new TLSOSI7Command;
       } // private pointer not initialized
       else 
       { 
                 // NOT private pointer not initialized
       }; 
       // NOT private pointer not initialized
       return *m_pOSI7Command;
    }

    m)

    blackhearted, 14 Июля 2014

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

    +27

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    @@ -50,9 +50,6 @@ void AreaTrigger::RemoveFromWorld()
          ///- Remove the AreaTrigger from the accessor and from all lists of objects in world
          if (IsInWorld())
          {
     -        if (!IsInWorld())
     -            return;
     -
              WorldObject::RemoveFromWorld();
              sObjectAccessor->RemoveObject(this);
          }

    "Core/AreaTrigger: Remove useful check"
    https://github.com/TrinityCore/TrinityCore/commit/d920463fe5fe6eee7c4a8e2d777720fcfbe6f08f

    Actine, 13 Июля 2014

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