-
Лучший говнокод
- В номинации:
-
- За время:
-
-
+143
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
void ** __attribute__((noinline)) findVoidSortMap(void ** list,void *key)
{
if (!list) return 0;
if (!*list) return 0;
unsigned int count= **(unsigned int**)list;
char *p=(char*)*list;
p+=4;
Element *b=(Element *)p;
long long skey=(long long)key;
while (count>0) {
void** kt=(void**)&b[count>>1];
long long rkey=(long long)kt[0];
if (skey==rkey) return (void**)&kt[1];
if (skey>rkey) {b+=(count>>1)+1;count--;}
count=count>>1;
}
return (void**)-1;
}
гуру осемблира на этом коде доказывал, что Эльбрус сосёт
http://www.gamedev.ru/flame/forum/?id=196722&page=33#m481
TarasB,
05 Января 2015
-
+90
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
Procedure ArrDataToRawImage(Ptr: PRGB32; Size: TPoint; out RawImage: TRawImage);
Begin
RawImage.Init; { Calls raw.Description.Init as well }
RawImage.Description.PaletteColorCount:=0;
RawImage.Description.MaskBitsPerPixel:=0;
RawImage.Description.Width := Size.X;
RawImage.Description.Height:= Size.Y;
RawImage.Description.Format := ricfRGBA;
RawImage.Description.ByteOrder := riboLSBFirst;
RawImage.Description.BitOrder:= riboBitsInOrder; // should be fine
RawImage.Description.Depth:=24;
RawImage.Description.BitsPerPixel:=32;
RawImage.Description.LineOrder:=riloTopToBottom;
RawImage.Description.LineEnd := rileDWordBoundary;
RawImage.Description.RedPrec := 8;
RawImage.Description.GreenPrec:= 8;
RawImage.Description.BluePrec:= 8;
RawImage.Description.AlphaPrec:=0;
RawImage.Description.RedShift:=16;
RawImage.Description.GreenShift:=8;
RawImage.Description.BlueShift:=0;
RawImage.DataSize := RawImage.Description.Width * RawImage.Description.Height
* (RawImage.Description.bitsperpixel shr 3);
RawImage.Data := PByte(Ptr);
End;
with ... do? Не. не слышал.
Cynicrus,
01 Декабря 2014
-
+154
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
function updateClock()
{
var date = new Date();
var day = date.getDate();
var month = date.getMonth() + 1;
var year = date.getFullYear();
var hours = date.getHours();
var minutes = date.getMinutes();
var seconds = date.getSeconds();
var dateTimeString = day + "." + month + "." + year + " " + hours + ":" + minutes + ":" + seconds;
$('#clock').html("Сейчас " + dateTimeString);
}
Трибьют классике.
pushistayapodmyshka,
24 Ноября 2014
-
+54
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
#include <iostream>
#include <cstdio>
#include <cstdlib>
using namespace std;
int main()
{
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
long x1, x2, x3;
cin >> x1 >> x2 >> x3;
if(x1 == 0 && x2 == 0 && x3 == 0){
cout << 0 << endl;
exit(EXIT_SUCCESS);
}
(x1 != 0) ? cout << x1 : cout << "";
(x2 != 0) ? (x2 > 0 && x1 != 0) ? (x2 == 1) ? cout << "+x" : cout << '+' << x2 << 'x' : (x2 == -1) ? cout << "-x" : (x2 == 1) ? cout << 'x' : (x2 == -1) ? cout << "-x" : cout << x2 << 'x' : cout << "";
(x3 != 0) ? (x3 == 1) ? cout << 'y' : (x3 == -1) ? cout << "-y" : (x2 == 0 && x1 == 0) ? cout << x3 << 'y' : (x3 > 0) ? (x3 == 1) ? cout << "+y" : cout << '+' << x3 << 'y' : (x3 == -1) ? cout << "-y" : cout << x3 << 'y' : cout << "";
cout << endl;
return 0;
}
Задача № 277 на acmp.ru. Решил "не писать много кода"
jyree,
21 Сентября 2014
-
+135
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
public string ExportToFile(string filename, string filepath, DataSet dsInput)
{
string sFlag = "Error";
System.IO.StreamWriter sw = new StreamWriter("");
try
{
if (filename.Trim() != "" && filepath != "" && dsInput.Tables[0].Rows.Count != 0)
{
sw = new System.IO.StreamWriter(filepath + filename + ".xls");
int iCol = dsInput.Tables[0].Columns.Count;
for (int i = 0; i < iCol; i++)
{
sw.Write(dsInput.Tables[0].Columns[i]);
if (i < iCol - 1)
{ sw.Write("\t"); }
sw.Write(sw.NewLine);
foreach (DataRow dr in dsInput.Tables[0].Rows)
{
for (int i = 0; i < iCol; i++)
{
if (!Convert.IsDBNull(dr[i]))
{
sw.Write(dr[i].ToString());
}
if (i < iCol - 1)
{ sw.Write("\t"); }
}
sw.Write(sw.NewLine);
}
sw.Close();
sFlag = "Success";
}
}
return sFlag;
}
catch (Exception)
{
return sFlag;
}
}
С какого-то китайского сайта:
http://www.datazx.cn/Forums/en-US/2d129cdc-2705-4035-90e2-063c4c399ae5/action?threadDisplayName=wpf-datagrid-remove-whitespace-from-string-on-clipboard-copy&forum=wpf
Нафиг эксепшены, лучше вернем строку "Error"! Ну или "Success", если этот чудо-код еще и не грохнется.
yamamoto,
05 Сентября 2014
-
+134
- 1
- 2
- 3
- 4
- 5
- 6
- 7
if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0)
goto fail;
if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0)
goto fail;
goto fail;
if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0)
goto fail;
https://www.imperialviolet.org/2014/02/22/applebug.html
Понятно, что третий if не выполнится. Кстати, это был баг в Apple SSL/TLS, привёдший к уязвимости.
Кстати, GCC с -Wall это не ловит. Ловит только Clang, и то только с -Wunreachable-code. Мораль: заключайте все тела ифов в блоки!
someone,
28 Августа 2014
-
+10
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
void MainWindow::mathFun()
{
if(stringBuffer->indexOf("pi") != -1)
{
int i = stringBuffer->indexOf("pi");
stringArg2->clear();
stringArg2->append( stringBuffer->mid(i+2, stringBuffer->size()));
stringSum->clear();
stringSum->append(QString::number(stringArg2->toDouble() * 3.1415926));
ui->lineEdit->clear();
ui->lineEdit->insert(*stringSum);
qDebug() <<" i=" << i << " size=" << stringBuffer->size();
}
if(stringBuffer->indexOf("log") != -1)
{
int i = stringBuffer->indexOf("log");
stringArg2->clear();
stringArg2->append( stringBuffer->mid(i+3, stringBuffer->size()));
stringSum->clear();
stringSum->append(QString::number(qLn(stringArg2->toDouble())));
ui->lineEdit->clear();
ui->lineEdit->insert(*stringSum);
qDebug() <<" i=" << i << " size=" << stringBuffer->size();
}
if(stringBuffer->indexOf("sqr") != -1)
{
int i = stringBuffer->indexOf("sqr");
stringArg2->clear();
stringArg2->append( stringBuffer->mid(i+3, stringBuffer->size()));
stringSum->clear();
stringSum->append(QString::number(qSqrt(stringArg2->toDouble())));
ui->lineEdit->clear();
ui->lineEdit->insert(*stringSum);
qDebug() <<" i=" << i << " size=" << stringBuffer->size();
}
if(stringBuffer->indexOf("fac") != -1)
{
int i = stringBuffer->indexOf("fac");
stringArg2->clear();
stringArg2->append( stringBuffer->mid(i+3, stringBuffer->size()));
stringSum->clear();
long long j = 1;
for(int k = 1; k <= stringArg2->toInt(); ++k)
{
if(stringArg2->toInt() == 0)
{
ui->lineEdit->insert(QString::number(0));
return;
}
j *= 1 * k;
}
stringSum->append(QString::number(j));
ui->lineEdit->clear();
ui->lineEdit->insert(*stringSum);
qDebug() <<" i=" << i << " size=" << stringBuffer->size();
}
if(stringBuffer->indexOf("pow") != -1)
{
int i = stringBuffer->indexOf("pow");
stringArg1->clear();
stringArg1->append( stringBuffer->mid(0, i));
stringArg2->clear();
stringArg2->append( stringBuffer->mid(i+3, stringBuffer->size()));
stringSum->clear();
stringSum->append(QString::number( pow(stringArg1->toDouble(), stringArg2->toDouble())));
ui->lineEdit->clear();
ui->lineEdit->insert(*stringSum);
qDebug() <<" i=" << i << " size=" << stringBuffer->size();
}
if(stringBuffer->indexOf("exp") != -1)
{
int i = stringBuffer->indexOf("exp");
stringArg2->clear();
stringArg2->append( stringBuffer->mid(i+3, stringBuffer->size()));
stringSum->clear();
stringSum->append(QString::number(exp(stringArg2->toDouble())));
ui->lineEdit->clear();
ui->lineEdit->insert(*stringSum);
qDebug() <<" i=" << i << " size=" << stringBuffer->size();
}
if(stringBuffer->indexOf("mod") != -1)
{
int i = stringBuffer->indexOf("mod");
stringArg1->clear();
stringArg1->append( stringBuffer->mid(0, i));
stringArg2->clear();
stringArg2->append( stringBuffer->mid(i+3, stringBuffer->size()));
stringSum->clear();
stringSum->append(QString::number(fmod(stringArg1->toDouble(), stringArg2->toDouble())));
ui->lineEdit->clear();
ui->lineEdit->insert(*stringSum);
qDebug() <<" i=" << i << " size=" << stringBuffer->size();
}
stringSum->clear();
stringBuffer->clear();
}
Калькулятор на C++/Qt
ConstantineVL,
24 Июня 2014
-
+149
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
(function (G) {
"use strict";
var $ = G.jQuery;
if ($ === undefined) {
G.console.log("jQuery not found.");
return;
}
function resizeContainer() {
$("div.container").outerHeight($(G).innerHeight());
}
$(G).resize(resizeContainer);
resizeContainer();
}(this));
Вот тут: http://jsfiddle.net/dunmaksim/NWN5f/3/ написал небольшой код, который позволяет сделать разметку на странице в стиле ModernUI. Высота контейнера автоматом подгоняется под высоту окна. Код прогнал через JSLint. Решение ориентировано на новые браузеры. Какие будут замечания? Замыкание использую для ограничения пространства имён.
dunmaksim,
09 Июня 2014
-
+139
- 1
- 2
Представляю Вашему вниманию новейший минусатор: http://rghost.ru/54852059
Исправлены многие ошибки предыдущих версий. Не побрезгуйте, родимые!..
Новейший минусатор для творения непотребностей с рейтингом.
brutushafens,
02 Мая 2014
-
+86
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
load 'regex'
f=: 13 : '((+./-.(1 2 3 4{y))+.(0{y))*.(5{y)'
a =: #:i.2^6
b =: f"(1) a
cc =: ":|:(|:a),(|:b)
cc1 =: (32+i.32){cc
cc2 =: (i.32){cc
ccc=:|:(|:cc2),(1 32$'*'),(|:cc1)
ccc=:('\*';'&&') rxrplc"1 (ccc)
(,&'\\ \hline')"1 (' ';' & ')rxrplc"1 (ccc)
Вот он, первый говнокод на J
Abbath,
28 Февраля 2014