- 1
- 2
- 3
- 4
- 5
- 6
- 7
int F(x)
{
if (.chto-to) v.push_back(.koe-chto.);
int ind = somefunc(x);
for each y in x.childs
v[ind].res += F(y);
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+163
int F(x)
{
if (.chto-to) v.push_back(.koe-chto.);
int ind = somefunc(x);
for each y in x.childs
v[ind].res += F(y);
}
Не говнокод, но пример того, как из std::vector можно выстрелить себе в ногу
Комментарий автора кода ( http://codeforces.ru/blog/entry/1719#comment-32824 ):
такая штука получала крэш на компиляторе жюри, из-за того что сначала вычислялся адрес v[ind].res затем вызывалась снова F, которая пушбекает в вектор v, и может тем самым заставить вектор перевыделить память, тем самым адрес вычисленный ранее становился инвалидным.
я этот баг долго не мог найти, потомучто студия генерила нормальный код, не вызывающий креша
+102
var zaxita, ataka, zaxitacomp, atakacomp, yron, yroncomp: integer;
begin
Label3.Caption := IntToStr(healt);
Label4.Caption := IntToStr(healtcomp);
If Radiobutton1.Checked = True then
begin
zaxita := 1;
yron := 3;
end;
If Radiobutton2.Checked = True then
begin
zaxita := 2;
yron := 2;
end;
If Radiobutton3.Checked = True then
begin
zaxita := 3;
yron := 1;
end;
If Radiobutton4.Checked = True then ataka := 3;
If Radiobutton5.Checked = True then ataka := 2;
If Radiobutton6.Checked = True then ataka := 1;
zaxitacomp := Random(4);
atakacomp := Random(4);
If zaxita <> atakacomp then
begin
healt := healt - yron;
Label3.Caption := IntToStr(healt);
If healt <= 0 then
begin
MessageBeep(48);
ShowMessage('Вы проиграли. Ваш труп скормят крысам!');
Close;
end;
If zaxitacomp <> ataka then
begin
healtcomp := healtcomp - ataka;
Label4.Caption := IntToStr(healtcomp);
If healtcomp <= 0 then
begin
MessageBeep(48);
ShowMessage('Вы выйграли! Поздравляю! Теперь можете разграбить своего врага! О, что это?!');
end;
end;
end;
end;
end.
Это оффлайн симулятор игры карнаж. Игра такая игра
+160
<table>
<form method="post" action="/ololo/onatole.html?step={{if $step eq '2'}}3{{else}}6{{/if}}">
<tr><td><a id="submit">...
....
фаерфокс отлично парсит такие формы внутри таблиц, jQuery(this).closest('form') тоже возвращает все превосходно
+157
{{sectionelse}}
<script language="javascript">
window.location = '/megasection/megapage.html?step='+{{if $step eq '2'}}'3'{{else}}'1'{{/if}};
</script>
{{/section}}
PHP, Smarty, редиректы уже не в моде
+146
Ошибка: unterminated regular expression literal
Источник: http://govnokod.ru/media/ddd20ce56acf1d9ebadd126322495087.js?files=jquery.js,jquery.scrollTo.js,govnokod.js,jshighlight/highlight.pack.js&v=4
Строка 204, символ 158
Исходный код:
return curLoop;};var Expr=Sizzle.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\
Это не код, а баг, из-за которого в Firefox'е комментарии не подгружаются, а открываются на отдельной странице.
Короче, минусуйте.
+136
if (demand.TargetDate == new DateTime())
{
}
+146
/**
* TODO Document HelloWorld
* <p />
*
* @author Vinod.Jayakumar
*/
Если тебя, любознательный читатель, заинтересовала валидность такого тега, то, чтобы облегчить тебе поиски:
http://www.w3.org/TR/html4/struct/text.html#edef-P
> We discourage authors from using empty P elements. User agents should ignore empty P elements.
+167
#include <windows.h>
struct io
{
io()
{
SetConsoleTitle(__FUNCSIG__);
}
~io()
{
DebugBreak();
}
} io_obj;
int main()
{
}
typedef void(fn_t)();
#pragma comment(linker, "/merge:.CRT=.rdata")
#pragma data_seg(".CRT$XCA")
extern "C" fn_t * start[] = {0};
#pragma data_seg(".CRT$XCZ")
extern "C" fn_t * finish[] = {0};
#pragma data_seg()
void call_dtors();
extern "C" void _initterm()
{
fn_t **p = start, **q = finish;
while (p < q)
{
if (*p)
(*p)();
++p;
}
main();
call_dtors();
}
fn_t * dtors[999];
int c_dtors;
void call_dtors()
{
while (c_dtors--)
dtors[c_dtors]();
}
extern "C" int atexit(void (__cdecl *func )( void ))
{
dtors[c_dtors++] = func;
return !"unspecified";
}
если клепаем что то без CRT и хотим чтоб вызывались
конструкторы деструкторы статических объектов и хотим свое то
вот реализация для тех кто этого еще неделал
https://wasm.ru/forum/viewtopic.php?pid=428250#p428250
+165
//
// Занимательное программирование C++
// С.Симонович, Г.Евсеев, 2001
//
// Глава 12. Программа учится сочинять
//
void __fastcall TForm1::FormCreate
(TObject *Sender)
{
randomize();
ComboBox1->ItemIndex = 0;
ComboBox2->ItemIndex = 0;
ComboBox3->ItemIndex = 0;
}
void __fastcall TForm1::Button1Click
(TObject *Sender)
{
ComboBox1->ItemIndex =
random(ComboBox1->Items->Count);
ComboBox2->ItemIndex =
random(ComboBox2->Items->Count);
ComboBox3->ItemIndex =
random(ComboBox3->Items->Count);
}
Это моя первая книгка по Си++
печалько... тт
+149
//
// mainwindow.h
//
#ifndef MAINMDIWINDOW_H
#define MAINMDIWINDOW_H
/* >:0 Эти инклюды хуже, чем говно, чуть менее, чем полностью */
#include <QMainWindow>
#include <QMdiArea>
#include <QMenu>
#include <QAction>
#include <QMenuBar>
#include <QWebView>
#include <QFile>
#include <QSignalMapper>
#include <QDebug>
#include <QDomDocument>
#include <QToolBar>
#include <QButtonGroup>
#include <QLabel>
#include <QMdiSubWindow>
#include <QApplication>
#include "demoviewer.h"
#include "theoryviewer.h"
class MainMDIWindow : public QMainWindow
{ Q_OBJECT
public:
/* >:0 Кэп?! */
//! Выполняет создание и инициализацию окна приложения.
explicit MainMDIWindow(QWidget *parent = 0);
signals:
public slots:
/* >:0 А ты догадался, что значат эти аргументы? */
void openDocument(int); void loadPage(int);
/* >:0 Это невероятно полезные функции */
void toggleTheoryWindow(bool state) { tw->setVisible(state); }
void toggleDemoWindow(bool state) { dw->setVisible(state); }
protected:
/* >:0 Это на винде не работало, я просто закомментировал.
Вероятно, правильнее было бы воспользоваться средствами сборки под разные платформы,
но я невозбранно комметирую-раскомментирую эту строчку каждый раз при сборке */
inline void paintEvent(QPaintEvent *e)
{ // mdiArea->setBackground(QBrush(QImage(":/images/photo/s200.jpg").scaled(this->size(), Qt::KeepAspectRatioByExpanding)));
e->accept();
}
// ...
/* >:0 ЭтаПять! См. тело конструктора */
QString AppWindowTitle;
// Просмотровщики материала
DemoViewer * dv; QMdiSubWindow* dw;
TheoryViewer* tv; QMdiSubWindow* tw;
bool lockTheory, lockDemo;
// Хранение информации о документах
/* >:0 За такое я впредь обещаю безжалостно резать яйца. Даже себе. */
QVector< QVector< QHash< QString, QString > > > documents;
QVector< QHash< QString, QString > > *currentDocument;
// ...
};
#endif // MAINMDIWINDOW_H
//
// mainwindow.cpp
// Далее следуют отдельные вырезки
//
#include "mainmdiwindow.h"
MainMDIWindow::MainMDIWindow(QWidget *parent) : QMainWindow(parent)
{ /* >:0 Вот зачем нам понадобился атрибут QString AppWindowTitle! */
AppWindowTitle = tr("ЦВМ «Пламя-КВ» ЗРК С-200ВЭ");
setWindowTitle(AppWindowTitle);
// ...
// Инициализация окон просмотровщиков
/* >:0 Вы меня понимаете, не? хД */
tv = new TheoryViewer(); tw = mdiArea->addSubWindow(tv); tw->hide(); tv->setParent(tw); lockTheory = true;
dv = new DemoViewer(); dw = mdiArea->addSubWindow(dv); dw->hide(); dv->setParent(dw); lockDemo = true;
// ...
}
void MainMDIWindow::openDocument(int id)
{ // ...
/* >:0 Нижеследующая конструкция читает HTML файл в UTF-8,
заменяет пути на абсолютные и запихвает получивуюся какуху в QWebView */
QFile in(textLink); bool t = in.open(QIODevice::ReadOnly | QIODevice::Text);
tv->setHtml(QString::fromUtf8(in.readAll()).replace(QString("./"), QApplication::applicationDirPath() + '/'));
in.close();
// ...
}
ИМХО, это МЕГОКОД. И я обещаю больше так никогда не делать ^^
Вбросы говн в потоковых комментариях, начинающихся с православного смайла >:0