- 1
- 2
- 3
- 4
- 5
try {
//snipped
} catch(OmgExtremeCriticalEmergencyException ignored) {
//not important
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+83
try {
//snipped
} catch(OmgExtremeCriticalEmergencyException ignored) {
//not important
}
+158
double** QRSLAU_check(matrix n1, matrix n0, double eps){
double** x;
x = (double**) calloc(2,sizeof(double*));
x[0]= (double*) calloc(n1.i,sizeof(double));
x[1]=(double*) calloc(n1.i,sizeof(double));
for (int a=0; a<n1.i; a++){ x[0][a]=1; x[1][a]=1;}
for (int a=0; a<n1.i; a++)
for (int b=a+1; b<n1.i; b++)
if(n1.M[b][a]>eps || n1.M[b][a]<-eps) x[0][a]=0;
for (int a=0; a<n1.i-1; a++)
if(((n1.M[a][a]+n1.M[a+1][a+1])-(n0.M[a][a]+ n0.M[a+1][a+1]))>eps ||
((n1.M[a][a]+n1.M[a+1][a+1])-(n0.M[a][a]+ n0.M[a+1][a+1])) <-eps ||
((sqrt(-(n1.M[a][a]*n1.M[a][a]+ n1.M[a+1][a+1]*n1.M[a+1][a+1]-2*n1.M[a+1][a+1]*n1.M[a][a]+4*n1.M[a][a+1]*n1.M[a+1][a])))-
(sqrt(-(n0.M[a][a]*n0.M[a][a]+ n0.M[a+1][a+1]*n0.M[a+1][a+1]-2*n0.M[a+1][a+1]*n0.M[a][a]+4*n0.M[a][a+1]*n0.M[a+1][a]))))>eps ||
((sqrt(-(n1.M[a][a]*n1.M[a][a]+ n1.M[a+1][a+1]*n1.M[a+1][a+1]-2*n1.M[a+1][a+1]*n1.M[a][a]+4*n1.M[a][a+1]*n1.M[a+1][a])))-
(sqrt(-(n0.M[a][a]*n0.M[a][a]+ n0.M[a+1][a+1]*n0.M[a+1][a+1]-2*n0.M[a+1][a+1]*n0.M[a][a]+4*n0.M[a][a+1]*n0.M[a+1][a]))))<-eps){
x[1][a]=0;
if(a==n1.i-2)x[1][a+1]=0;
}
else a++;
return x;
}
какая-та штука для QR-алгоритма и поиска собственных значений
+103
procedure TForm1.UpDown2Click(Sender: TObject; Button: TUDBtnType);
begin
If (UpDown2.Position = 0) or (UpDown2.Position = 5) or (UpDown2.Position = 6) or
(UpDown2.Position = 7) or (UpDown2.Position = 8) or (UpDown2.Position = 9) or
(UpDown2.Position = 10) or (UpDown2.Position = 11) or (UpDown2.Position = 12) or
(UpDown2.Position = 13) or (UpDown2.Position = 14) or (UpDown2.Position = 15) or
(UpDown2.Position = 16) or (UpDown2.Position = 17) or (UpDown2.Position = 18) or
(UpDown2.Position = 19) or (UpDown2.Position = 20) or (UpDown2.Position = 25) or
(UpDown2.Position = 26) or (UpDown2.Position = 27) or (UpDown2.Position = 28) or
(UpDown2.Position = 29) or (UpDown2.Position = 30) or (UpDown2.Position = 35) or
(UpDown2.Position = 36) or (UpDown2.Position = 37) or (UpDown2.Position = 38) or
(UpDown2.Position = 39) or (UpDown2.Position = 40) or (UpDown2.Position = 45) or
(UpDown2.Position = 46) or (UpDown2.Position = 47) or (UpDown2.Position = 48) or
(UpDown2.Position = 49) or (UpDown2.Position = 50) or (UpDown2.Position = 55) or
(UpDown2.Position = 56) or (UpDown2.Position = 57) or (UpDown2.Position = 58) or
(UpDown2.Position = 59) or (UpDown2.Position = 60)
then StaticText4.Caption := 'минут';
If (UpDown2.Position = 1) or (UpDown2.Position = 21) or (UpDown2.Position = 31) or
(UpDown2.Position = 41) or (UpDown2.Position = 51)
then StaticText4.Caption := 'минуту';
If (UpDown2.Position = 2) or (UpDown2.Position = 22) or (UpDown2.Position = 23) or
(UpDown2.Position = 24) or (UpDown2.Position = 32) or (UpDown2.Position = 33) or
(UpDown2.Position = 34) or (UpDown2.Position = 42) or (UpDown2.Position = 43) or
(UpDown2.Position = 44) or (UpDown2.Position = 52) or (UpDown2.Position = 53) or
(UpDown2.Position = 54)
then StaticText4.Caption := 'минуты';
If UpDown2.Position>60 then ShowMessage('больше нельзя');
end;
Дао создания таймера обратного отсчета.
Канон второй: вычисление плюральных окончаний.
Комментарии и форматирование авторские.
−852
[CompanyName] text null,
[Address] text null,
[Comment] varchar(255),
Вот такая оригинальная архитектура таблицы БД :-)
+159
function HighlightSelectedKaskoPriceCell(currentCell, toggle, useParent)
{
if(currentCell)
{
if(toggle)
{
if(!useParent)
$(currentCell).css("background-color", "rgb(247, 144, 52)");
else
$(currentCell).parent().css("background-color", "rgb(247, 144, 52)");
}
else
{
if(!useParent)
$(currentCell).css("background-color", "#FEF3EB");
else
$(currentCell).parent().css("background-color", "#FEF3EB");
}
}
}
function GetSelectedKaskoPriceCellHighlighting(currentCell, useParent)
{
if(!useParent)
return ($(currentCell).css("background-color") == "rgb(247, 144, 52)");
else
return ($(currentCell).parent().css("background-color") == "rgb(247, 144, 52)");
}
Способ выделить ячейку таблицы и выяснить, была ли она выделена.
−123
my @orda = ();
my @whera = (); # Niggaz in da haus!
Найдено в коде метода, формирующего SQL-запрос для доступа к БД.
+124
switch ((int)row["State"])
{
case 0:
/*** Get Contact Row for Company ***/
if (contactTbl != null)
{
contactRow = null;
DataRow[] contactRows = contactTbl.Select("Company_Id='" + row["Id"].ToString() + "'");
if (contactRows != null && contactRows.Length > 0)
{
contactRow = contactRows[0];
if ((bool)contactRow["fDontMailshot"] == false)
{
thisMailShot = true;
}
else
{
thisMailShot = false;
}
}
}
if ((bool)row["fManagementCompany"] == true)
{
if (row["Id"].ToString() == "00-20181" || row["Id"].ToString() == "00-60838")
{
myEntityID = Entity(2, row);
if (!SubContractor(myEntityID, row)) { return false; }
}
else
{
myEntityID = Entity(10, row);
}
if (myEntityID < 0) { return false; }
if (!Address(myEntityID, row)) { return false; }
if (!Contact(myEntityID, contactRow, SOURCETYPE_ENTITY)) { return false; }
}
else if ((bool)row["fSubcontractor"] == true || ((bool)row["fSupplier"] == true && (bool)row["fCustomer"] == false))
{
myEntityID = Entity(2, row);
if (myEntityID < 0) { return false; }
if (!Address(myEntityID, row)) { return false; }
if (!Contact(myEntityID, contactRow, SOURCETYPE_ENTITY)) { return false; }
if (!SubContractor(myEntityID, row)) { return false; }
}
else if ((bool)row["fHousingAssociation"] == true)
{
myEntityID = Entity(7, row);
if (myEntityID < 0) { return false; }
if (!Address(myEntityID, row)) { return false; }
if (!Contact(myEntityID, contactRow, SOURCETYPE_ENTITY)) { return false; }
if (!Customer(myEntityID, row, thisMailShot)) { return false; }
}
else if ((bool)row["f2ndOwnerTenant"] == true && (bool)row["fCustomer"] == false)
{
myEntityID = Entity(8, row);
if (myEntityID < 0) { return false; }
if (!Address(myEntityID, row)) { return false; }
if (!Contact(myEntityID, contactRow, SOURCETYPE_ENTITY)) { return false; }
if (!Customer(myEntityID, row, thisMailShot)) { return false; }
}
else if ((bool)row["fCustomer"] == true && (bool)row["f2ndOwnerTenant"] == false)
{
myEntityID = Entity(7, row);
if (myEntityID < 0) { return false; }
if (!Address(myEntityID, row)) { return false; }
if (!Contact(myEntityID, contactRow, SOURCETYPE_ENTITY)) { return false; }
if (!Customer(myEntityID, row, thisMailShot)) { return false; }
}
else if ((bool)row["fCustomer"] == true && (bool)row["f2ndOwnerTenant"] == true)
{
myEntityID = Entity(7, row);
if (myEntityID < 0) { return false; }
if (!Address(myEntityID, row)) { return false; }
if (!Contact(myEntityID, contactRow, SOURCETYPE_ENTITY)) { return false; }
if (!Customer(myEntityID, row, thisMailShot)) { return false; }
}
break;
default:
break;
}
Отличный пример использования конструкций ветвления. Имеем switch, в нём один case, а в кейсе много-много иф-элсов. И что очень характерно для этого проекта с тремя классами по 9000 строк, никакого повторного использования кода. Реализация принципа "зачем писать меньше?".
+103
var
resStream: TResourceStream;
memStream: TMemoryStream;
DLL: THandle;
tempFile: string;
excel: variant;
wbook: OLEVariant;
begin
if not IsOLEObjectInstalled('Excel.Application') then
begin
MessageBox(Handle, PChar('Для открытия фаблонов форм необходимо установить'+#13+
'Microsoft Excel'), 'Ошибка загрузки формы.', MB_ICONINFORMATION);
exit
end;
tempFile := extractFilePath(paramStr(0))+'DATA\PLUGINS\$temp$.xxx';
if ListView1.Selected = nil then exit;
if not FileExists(ListView1.Selected.SubItems.Strings[2]) then exit;
DLL := loadLibrary(PChar(ListView1.Selected.SubItems.Strings[2]));
if DLL = INVALID_HANDLE_VALUE then begin
freeLibrary(DLL);
exit
end;
resStream := TResourceStream.Create(DLL, 'FORMA', MakeIntResource(10));
memStream := TMemoryStream.Create;
memStream.LoadFromStream(resStream);
if fileExists(tempFile) then deleteFile(tempFile);
memStream.SaveToFile(tempFile);
setFileAttributes(PChar(tempFile), FILE_ATTRIBUTE_HIDDEN or
FILE_ATTRIBUTE_TEMPORARY);
memStream.Free;
resStream.Free;
freeLibrary(DLL);
excel := createOLEObject('Excel.Application');
excel.Visible := TRUE;
wbook := excel.Workbooks.Open(tempFile)
end;
когда-то кому-то в дипломнике вот такое написал. с понтом - подключаем плагины и они в эксель выводят программно новые виды форм. хотя экселевский файл тупо вкомпилен в ресурс библиотеки
+113
private static void assertNoReflection()
{
foreach (StackFrame stackFrame in new StackTrace().GetFrames())
{
if (stackFrame.GetMethod().DeclaringType.Namespace == "System.Reflection")
{
throw new MethodAccessException();
}
}
}
internal static string GetKey()
{
assertNoReflection();
// ...
}
Вот так вот приходится говнить, потому что в дотнете рефлексией можно спокойно вызывать internal- и private- методы.
assertNoReflection(); проверяет, что вверх по стеку вызовов никто не балуется рефлексией.
После assertNoReflection(); из нативной длл получаем обфусцированную (вручную, лол) строку, которая далее с помощью запутанных алгоритмов (некоторые параметры для "расшифровки" опять берутся из нативной длл) приводит её в вид пароля (для доступа к запароленному архиву).
Софт не прямо уж суперсекретный, просто нужно скрыть ресурсы хотя бы для приличия. Пароль через подключение к серверу не катит.
Ко всему этому оно собрано в одно exe моновским mkbundle'ом (рефлектор не может открыть!) и поверх upx'ом. В общем, большое количество кулхацкеров отсекается (должны знать ассемблер и MSIL).
Чувствую, что говнорешение, но не могу придумать что-то более умное. Обфускаторы тоже не очень катят, ибо плохо дружат с моно.
+971
#include<stdio.h>
#include<stdlib.h>
#define N 3
using namespace std;
/*class Node{
struct Node *f,*s,*t;
public :
int x,y;
void Node(int rx,int ry){
x=rx;
y=ry;
return;
}
};*/
typedef struct node{int x,y}node;
node tree[100];
node jmps[3];
int main(){
// Node *root=new Node(-1,-1);
int i=0,j;
////////////////////////
////////////////////////
tree[0].x=-1;
tree[0].y=-1;
for(i=0;i<N;i++){
for(j<N*)
}
}