1. PHP / Говнокод #24921

    −3

    1. 1
    $keys = array_keys(array_flip($keys));

    Малая доля индусского кода

    kgk, 14 Октября 2018

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

    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
    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
    void testing_dot(int N)
    {
    	Vector_type<float> X(N), Y(N);
    	for (int i = 0; i < N; ++i)
    	{
    		X[i] = sin(i);
    		Y[i] = cos(i);
    	}
    	int Ntest = 20;
    	float taxpyseq = 0.0, t;
    	const float axpyflop = Ntest*Ntest*N * 3 * 1E-9;
    	printf("testing sequential ops:\n");
    	omp_set_num_threads(1);
    	for (int i = 0; i < Ntest; i++) {
    		t = omp_get_wtime();
    		for (int j = 0; j < Ntest; j++) dot(X, Y);
    		taxpyseq += omp_get_wtime() - t;
    	}
    	printf("Sequential ops timing: \n");
    	printf("dot time=%6.3fs GFLOPS=%6.2f\n", taxpyseq, axpyflop / taxpyseq);
    	//parallel mode
    	const int NTR = omp_get_num_procs();
    	for (int ntr = 2; ntr <= NTR; ntr += 2) {
    		for (int i = 0; i < N; ++i)
    		{
    			X[i] = sin(i);
    			Y[i] = cos(i);
    		}
    		printf("testing parallel ops for ntr=%d:\n", ntr);
    		omp_set_num_threads(ntr);
    		float taxpypar = 0.0;
    		for (int i = 0; i < Ntest; i++) {
    			t = omp_get_wtime();
    			for (int j = 0; j < Ntest; j++); dot(X, Y);//действительно небывалое ускорение!!!
    			taxpypar += omp_get_wtime() - t;
    		}
    		printf("dot time=%6.3fs GFLOPS=%6.2f Speedup=%6.2fX \n",
    			taxpypar, axpyflop / taxpypar, taxpyseq / taxpypar);
    	}
    }

    когда ты доказываешь закащику, что твой алгоритм реально лучше...

    cat_code, 13 Октября 2018

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

    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
    class MyClass
    {
    public:
    	MyClass() {};
    	MyClass(const MyClass & M1) {
    		MyClass * T = this;
    		delete this; 
    		T = new MyClass(M1);
    	}
    	~MyClass() {};
    private:
    };
    
    int main(int argc, char *argv[])
    {
    	MyClass A1;
    	MyClass *B=new MyClass(A1);
    }

    ОНО РАБОТАЕТ!...вечно правда...НО ПОЧЕМУ ЭТА ТВАРЬ РАБОТАЕТ??? какого можно удалять память... ещё не выделенную... если кто мне объяснит, я буду счастлив (ах да код появился при решении одной забавной задачки, что произойдёт с конструктором копирования при удалении указателя на свой же экземпляр класса)

    cat_code, 13 Октября 2018

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

    −4

    1. 1
    Прыщеблядь VS Акнеблядь (8)

    прыщеблядь играеться в Super Tux, акнеблядь в STALKER и Crysis
    прыщеблядь делать пересборку системы каждый месяц, акнеблядь раз в 5 лет устанавливает новую версию винды.
    прыщеблядь половину времени за компом что-то компилирует, акнеблядь может спокойно любой бинарник запустить
    прыщеблядь дрочит на Compiz, акнеблядь в это время работает, акнебляди похуй какие эффекты у окон.
    прыщеблядь сука с прыщавым умным лицом, акнеблядь с нормальным лицом
    у прыщеблядей плохо с личной жизнью, секс бывает 1 раз в 3 года, акнеблядь ебётся когда захочет
    Вы всё ещё хотите сэкономить 20$ на покупке Windows?

    syoma, 13 Октября 2018

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

    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
    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
    public void r_mesg(Message msg, string text)
            {
                bot.SendTextMessageAsync(msg.Chat.Id, text, replyToMessageId: msg.MessageId);
            }
            public void mesg_md(ChatId chatId, string text)
            {
                try { bot.SendTextMessageAsync(chatId, text, ParseMode.Markdown); }
                catch { mesg(chatId, text); }
            }
            public void mesg_html(ChatId chatId, string text)
            {
                try { bot.SendTextMessageAsync(chatId, text, ParseMode.Html); }
                catch { mesg(chatId, text); }
            }
            public void r_mesg_md(Message msg, string text)
            {
                try { bot.SendTextMessageAsync(msg.Chat.Id, text, ParseMode.Markdown, replyToMessageId: msg.MessageId); }
                catch { r_mesg(msg, text); }
            }
            public void r_mesg_html(Message msg, string text)
            {
                try { bot.SendTextMessageAsync(msg.Chat.Id, text, ParseMode.Html, replyToMessageId: msg.MessageId); }
                catch { r_mesg(msg, text); }
            }
    
            public void pic(ChatId chatId, string file)
            {
                bot.SendPhotoAsync(chatId, file);
            }
            public void r_pic(Message msg, string file)
            {
                bot.SendPhotoAsync(msg.Chat.Id, file, replyToMessageId: msg.MessageId);
            }
            public void pic_t(ChatId chatId, string file, string text)
            {
                bot.SendPhotoAsync(chatId, file, caption: text);
            }
            public void pic_t_md(ChatId chatId, string file, string text)
            {
                try { bot.SendPhotoAsync(chatId, file, caption: text, parseMode: ParseMode.Markdown); }
                catch { pic_t(chatId, file, text); }
            }
            public void pic_t_html(ChatId chatId, string file, string text)
            {
                try { bot.SendPhotoAsync(chatId, file, caption: text, parseMode: ParseMode.Html); }
                catch { pic_t(chatId, file, text); }
            }
            public void r_pic_t(Message msg, string file, string text)
            {
                bot.SendPhotoAsync(msg.Chat.Id, file, 
                    caption: text, replyToMessageId: msg.MessageId);
            }
            public void r_pic_t_md(Message msg, string file, string text)
            {
                try {
                    bot.SendPhotoAsync(msg.Chat.Id, file, 
                        caption: text, parseMode: ParseMode.Markdown,
                        replyToMessageId: msg.MessageId);
                }
                catch { r_pic_t(msg, file, text); }
            }
            public void r_pic_t_html(Message msg, string file, string text)
            {
                try {
                    bot.SendPhotoAsync(msg.Chat.Id, file,
                        caption: text, parseMode: ParseMode.Html,
                        replyToMessageId: msg.MessageId);
                }
                catch { r_pic_t(msg, file, text); }
            }

    Jint и скриптовые команды для бота. Ну не удержался и скинул эту хуету

    UND85D, 12 Октября 2018

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

    −104

    1. 1
    Не могу больше молчать, прошу забанить борманда.

    Этот человек причастен к спамингу! Бля буду!

    Bad_Wolf, 12 Октября 2018

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

    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
    Vector_type(const Vector_type& m1) {
    		if (this->size != m1.size) {
    			if (this->size != 0)
    				destroy_memmory();
    			this->size = m1.size;
    			this->M = new m_type[size];
    			for (int i = 0; i < size; i++)
    				this->M[i] = m1.M[i];
    		}
    		else {
    			for (int i = 0; i < size; i++)
    				this->M[i] = m1.M[i];
    		}
    	};
    	Vector_type& operator = (const Vector_type& m1) {
    		if (this->size != m1.size)
    			throw "not right =";
                   this(m1);
    		return *this;
    	};

    Действительно что могло пойти не так? просто копировать приравнять, копировать, приравнять, копировать...

    cat_code, 12 Октября 2018

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

    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
    21. 21
    Vector_type(const Vector_type& m1) {
    		if (this->size != m1.size) {
    			if (this->size != 0)
    				destroy_memmory();
    			this->size = m1.size;
    			this->M = new m_type[size];
    			for (int i = 0; i < size; i++)
    				this->M[i] = m1.M[i];
    		}
    		else {
    			for (int i = 0; i < size; i++)
    				this->M[i] = m1.M[i];
    		}
    	};
    	Vector_type& operator = (const Vector_type& m1) {
    		if (this->size != m1.size)
    			throw "not right =";
    		for (int i = 0; i < size; i++)
    			this->M[i] = m1.M[i];
    		return *this;
    	};

    Действительно что могло пойти не так? просто копировать приравнять, копировать, приравнять, копировать...

    cat_code, 12 Октября 2018

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

    −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
    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
    #include<iostream>
    #include<fstream>
    #include<vector>
    using namespace std;
    
    string rec(const string str, char c){return str;}
    
    void cer(){}
    
    main(){
    	string s,d="Text",a;
    	ifstream fin;
    	vector<string> mas;
    fin.open("test.txt");
    //if (fin.is_open()) cout<<"1";else	cout<<"0";
    while(fin>>s)
    	{bool f=0;
    		for(int i=0; i<s.size(); ++i)
    			if (s[i]==d[0])
    				{
    					f=1;
    					for (int j=0; j<s.size()&&j<d.size(); ++j)
    						if (d[j]!=s[i+j]) f=0;
    					if (f)
    						{
    							a.clear();
    							for (int j=0; j<i; ++j)
    								a=a+s[j];
    							a=a+"Hi";
    							for (int j=i; j<s.size(); ++j)
    								a=a+s[j];
    						}
    				}
    			
    			if (f)	{mas.push_back("\n");mas.push_back(a);mas.push_back("\n");}
    			else mas.push_back(s);
    			s=rec(s,'0');
    	}
    	ofstream fout;
    fout.open("output.txt");
    for (int i=0; i<mas.size(); ++i) fout<<mas[i]<<"\t";
    }

    ДД всем просветленным.
    Есть код на С++ , который нормально компилируется и меняет текст в указанном файле. Вопрос: как его использовать для изменения данных при парсинге сайта. По логике Tokenizer передает лексемы в Parser для дальнейшего построения DOM. Значит надо добавить подобный код в Tokenizer, чтобы он передавал уже исправленные данные. Но на практике Tokenizer работает с Buffer(nsHtml5Tokenizer::tokenizeBuffer( nsHtml5UTF16Buffer* buffer)), причем с логическим(bool), а код для строчки из файла.
    Как вариант добавить в сам Parser(nsHtml5Parser::Parse(const nsAString& aSourceBuffer, void* aKey, const nsACString& ContentType, bool aLastCall, nsDTDMode aMode) , но не могу разобраться как это сделать.
    При компиляции вылетает куча ошибок.
    Использованные файлы: nsHtml5Parser.cpp и nsHtml5Tokenizer.cpp, FireFox(версия 47), компилятор MSVS2013.

    DrAli, 12 Октября 2018

    Комментарии (24)
  10. Python / Говнокод #24902

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    class Test(contextlib.ExitStack):
        def __init__(self):
            super().__init__()
            with contextlib.ExitStack() as s:
                self.foo = s.enter_context(Foo())
                self.bar = s.enter_context(Bar())
                self.enter_context(s.pop_all())

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

    bormand, 11 Октября 2018

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