- 1
- 2
- 3
- 4
- 5
- 6
tblib::operator << (s, curVersion);
tblib::operator << (s, indPlayer);
tblib::operator << (s, indDiamond);
tblib::operator << (s, indDisk);
tblib::operator << (s, indExit);
tblib::operator << (s, indDust);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+15
tblib::operator << (s, curVersion);
tblib::operator << (s, indPlayer);
tblib::operator << (s, indDiamond);
tblib::operator << (s, indDisk);
tblib::operator << (s, indExit);
tblib::operator << (s, indDust);
Нельзя просто взять, и написать
s << curVersion << indPlayer << indDiamond << indDisk << indExit << indDust;
потому что глючный крестоблядский крестокомпилятор (MSVS-03) не может выбрать нужную крестоперегрузку.
"Сразу записать инт, или сначала кастануть его к жопе и записать жопу?"
+123
Я тут решил свой язык запилить, кто скажет, какой синтаксис кому нравится?
Пишите в комментарии!
+75
Integer code = Integer.valueOf(service.getId().toString());
service.getId() возвращает Long
+133
if (access(path, aflag) && mkfifo(path, mode) {
exit(-1);
}
Весьма интуитивная запись условия
+137
model.PID = row["PID"].ToString();
model.Rect = row["RECt"].ToString();
model.Pubt = row["PUBt"].ToString();
model.Ex = row["Ex"].ToString();
model.Prev_Vol = row["Prev_Vol"].ToString() != "" ? Tools.ParseDecimalValue(row["Prev_Vol"].ToString()).FormatAmountWithoutDecimal() : "";
model.Curr_Vol = row["Curr_Vol"].ToString() != "" ? Tools.ParseDecimalValue(row["Curr_Vol"].ToString()).FormatAmountWithoutDecimal() : "";
model.Mov_Vol = row["Mov_Vol"].ToString() != "" ? Tools.ParseDecimalValue(row["Mov_Vol"].ToString()).FormatAmountWithoutDecimal() : "";
decimal tonavgvol = Tools.ParseDecimalValue(row["Mov_Vol"].ToString());
decimal currentvol = Tools.ParseDecimalValue(row["Curr_Vol"].ToString());
if (row["Mov_Vol"].ToString() != "" && row["Curr_Vol"].ToString() != "" && tonavgvol != 0)
model.VolRat = (currentvol / tonavgvol).FormatAmount();
model.Open_Vol = row["Open_Vol"].ToString() != "" ? Tools.ParseDecimalValue(row["Open_Vol"].ToString()).FormatAmountWithoutDecimal() : "";
model.Close_Vol = row["Close_Vol"].ToString() != "" ? Tools.ParseDecimalValue(row["Close_Vol"].ToString()).FormatAmountWithoutDecimal() : "";
model.AllTicks = row["AllTicks"].ToString() != "" ? Tools.ParseDecimalValue(row["AllTicks"].ToString()).FormatAmountWithoutDecimal() : "";
model.ATR = row["ATR14"].ToString() != "" ? Tools.ParseDecimalValue(row["ATR14"].ToString()).FormatAmountFourDecimals() : "";
decimal open = Tools.ParseDecimalValue(row["Open"].ToString());
decimal close = Tools.ParseDecimalValue(row["Close"].ToString());
if (row["Open"].ToString() != "" && row["Close"].ToString() != "" && open != 0)
model.PrevDay = (((close - open) / open) * 100).FormatPercent();
model.PrevClose = row["PrevClose"].ToString() != "" ? Tools.ParseDecimalValue(row["PrevClose"].ToString()).FormatAmount() : "";
model.DayOpen = row["DayOpen"].ToString() != "" ? Tools.ParseDecimalValue(row["DayOpen"].ToString()).FormatAmount() : "";
decimal prevclose = Tools.ParseDecimalValue(row["PrevClose"].ToString());
decimal dayopen = Tools.ParseDecimalValue(row["DayOpen"].ToString());
if (row["DayOpen"].ToString() != "" && row["PrevClose"].ToString() != "" && prevclose != 0)
model.OpenGap = (((dayopen - prevclose) / prevclose) * 100).FormatPercent();
model.SPYLast = row["TONSPLast"].ToString() != "" ? Tools.ParseDecimalValue(row["TONSPLast"].ToString()).FormatAmount() : "";
model.TONOpen = row["TONOpen"].ToString() != "" ? Tools.ParseDecimalValue(row["TONOpen"].ToString()).FormatAmount() : "";
model.TONHigh = row["TONHigh"].ToString() != "" ? Tools.ParseDecimalValue(row["TONHigh"].ToString()).FormatAmount() : "";
model.TONLow = row["TONLow"].ToString() != "" ? Tools.ParseDecimalValue(row["TONLow"].ToString()).FormatAmount() : "";
model.TONLast = row["TONLast"].ToString() != "" ? Tools.ParseDecimalValue(row["TONLast"].ToString()).FormatAmount() : "";
model.EODHigh = row["EODHigh"].ToString() != "" ? Tools.ParseDecimalValue(row["EODHigh"].ToString()).FormatAmount() : "";
model.EODLow = row["EODLow"].ToString() != "" ? Tools.ParseDecimalValue(row["EODLow"].ToString()).FormatAmount() : "";
model.EODClose = row["EODClose"].ToString() != "" ? Tools.ParseDecimalValue(row["EODClose"].ToString()).FormatAmount() : "";
model.SPYClose = row["EODSPClose"].ToString() != "" ? Tools.ParseDecimalValue(row["EODSPClose"].ToString()).FormatAmount() : "";
model.PostVWAP = row["PostVWAP"].ToString() != "" ? Tools.ParseDecimalValue(row["PostVWAP"].ToString()).FormatAmount() : "";
model.PreVWAP = row["PreVWAP"].ToString() != "" ? Tools.ParseDecimalValue(row["PreVWAP"].ToString()).FormatAmount() : "";
model.MainVWAP = row["MainVWAP"].ToString() != "" ? Tools.ParseDecimalValue(row["MainVWAP"].ToString()).FormatAmount() : "";
model.AllVWAP = row["AllVWAP"].ToString() != "" ? Tools.ParseDecimalValue(row["AllVWAP"].ToString()).FormatAmount() : "";
model.EODVWAP = row["EODVWAP"].ToString() != "" ? Tools.ParseDecimalValue(row["EODVWAP"].ToString()).FormatAmount() : "";
decimal tonlast = Tools.ParseDecimalValue(row["TONLast"].ToString());
decimal eodhigh = Tools.ParseDecimalValue(row["EODHigh"].ToString());
decimal eodlow = Tools.ParseDecimalValue(row["EODLow"].ToString());
decimal tonhigh = Tools.ParseDecimalValue(row["TONHigh"].ToString());
decimal tonlow = Tools.ParseDecimalValue(row["TONLow"].ToString());
decimal eodclose = Tools.ParseDecimalValue(row["EODClose"].ToString());
decimal oedspclose = Tools.ParseDecimalValue(row["EODSPClose"].ToString());
decimal tonsplast = Tools.ParseDecimalValue(row["TONSPLast"].ToString());
// еще где-то 100-150 строчек в таком же духе
ADO.NET во все поля.
Бизнес-логика? Что это такое?
P.S. У класса model все свойства типа string, у всех decimal переменных потом тоже вызывается ToString().
+155
//выведет таблицу для отладки
function ExecSQL_SelectTable($sql)
{
if($data = ExecSQL_Select($sql)->fetchAll(PDO::FETCH_ASSOC)){
print '<table border=2>';
print '<tr>';
foreach(array_keys($data[0]) AS $v) print '<td>'.$v.'</td>';
print '</tr>';
foreach($data AS $row){
print '<tr>';
foreach($row AS $v) print '<td>'.$v.'</td>';
print '</tr>';
}
print '</table>';
}
die;
}
Что только люди не предумают чтобы не юзать нормальный debug и не отлаживать код нормально.
+101
function GetBit(numBit,Val: integer):boolean;
var
i: integer;
begin
i := round(power(2,numBit-1));
result := (i and Val) >0;
end;
Суровые и беспощадные битовые операции в дельфи. Причем коллега, у которого я это нашел неплохие программы пишет, во всяком случае по части удобства интерфейса мне до него далеко. Но иногда такие перлы встречаются.
+134
#include <stdio.h>
#define max(x,y) ((x>y)?x:y)
#define N 255
typedef unsigned char uchar;
uchar s,t,x,y,z,n,S[10000],FO[N+N*(N-1)/2];
uchar mask[]={1,2,4,8,16,32,64,128};
int TOP=0;
unsigned int COUNTER=0,AO[N];
FILE *in;
int pop(){
//if the top element in the stack is passed and stack is not empty,
//find next parent vertex
while(S[TOP]>128 && TOP>0) TOP-=S[TOP]-128;
return(TOP);
}
int push(){ //add new elements to the stack
int tmp=TOP,i,j,k; //tmp is a temporary variable
x=S[TOP-S[TOP]+1]; //x is a parent vertex
for(i=1;i<=FO[AO[x]];i++){
y=FO[AO[x]+i]; //y is a neigbour of x
if(!test(y)){ //y is visited? if not keep going
k=max(y/8+1,S[TOP]-2); //copy set P(x) to the new set P(y)
S[++tmp]=y;
for(j=0;j<k;j++,S[++tmp]=0);
S[++tmp]=k+2;
for(j=1;j<=S[TOP]-2;j++) S[tmp-j]=S[TOP-j];
S[tmp-(y/8+1)]|=mask[y-(y/8)*8]; //add child y to P(y)
}
}
S[TOP]+=128; //drop flag for the vertex x
TOP=tmp; //the last child y become parent
}
int test(int j){ //does vertex j in the set P(TOP)?
z=((j/8+1)>S[TOP]-2)?0:(S[TOP-(j/8+1)] & mask[j-(j/8)*8])?1:0;
return(z);
}
int inc(){ //the path was found
COUNTER++;
S[TOP]+=128;
}
int main(){
int i,j,k;
in=fopen("Data15.txt","r"); //open file
fscanf(in," %d %d",&i,&n); //read the number of vertices
for(k=n,i=0;k>=0;k--){
fscanf(in,"%d %d",&j,&FO[i]);
j=FO[i];
for(AO[n-k]=++i-1;j>0;j--,i++){
fscanf(in,"%d ",&FO[i]);
}
}
printf("Type first and end nodes: "); //type s and t separated by space
scanf("%d %d",&s,&t);
S[0]=s;
for(j=1;j<=s/8+1;S[j++]=0);
S[j]=s/8+3;
TOP=j;
S[TOP-(s/8+1)]|=mask[s-(s/8)*8];
while(pop()>=0) (test(s) && test(t))?inc():push(); //launch breadth-search algorithm
printf("# of paths in the graph b/w s=%d and t=%d equals %d\n",s,t,COUNTER);
return(0);
}
разбирая старый CD бэкап откопал лабу...(знаю,знаю что продакшн кошернее, и на сях не пишу со студенчества)
хотел вайпнуть безжалости но вспомнил про говнокодосайт.
помоему код люто доставляет.
прога подсчитывает полное число путей в графе между заданными вершинами s и t.
граф считывается из файла в формате: "номер_вершины степень_вершины {достижимые_вершины_через_пробел}"
(по коду видно)
+9
#include <iostream>
#include <iterator>
#include <algorithm>
#include <array>
#include <memory>
using namespace std;
template<size_t N1, size_t N2, class T1, class T2,
class T = typename common_type<T1, T2>::type>
T (*concatCArray(const T1(&arr1)[N1], const T2(&arr2)[N2]))[N1+N2]{
const auto result = (T(*)[N1+N2]) new T[N1+N2];
copy(arr2, end(arr2), copy(arr1, end(arr1), *result));
return result;
}
template<std::size_t N, class T>
void viewCArrayPtr(T (*arr)[N]){
copy(*arr, end(*arr), ostream_iterator<T>(cout, " "));
}
template<size_t N1, size_t N2, class T1, class T2,
class T = typename remove_const<typename common_type<T1, T2>::type>::type>
array<T, N1+N2> concatArray(const array<T1, N1> &arr1, const array<T2, N2> &arr2){
array<T, N1+N2> result;
copy(begin(arr2), end(arr2), copy(begin(arr1), end(arr1), result.begin()));
return result;
}
template<std::size_t N, class T>
void viewArray(const array<T, N> arr){
copy(begin(arr), end(arr), ostream_iterator<T>(cout, " "));
}
int main() {
int arr1[]{0,1,2,3}, arr2[]{4,5,6};
auto ca = concatCArray(arr1, arr2);
unique_ptr<int[]> safe(*ca);
viewCArrayPtr(ca);
cout<<endl;
array<float, 2> a {1,2.5};
array<int, 3> b{3, 4, 5};
viewArray(concatArray(a, b));
return 0;
}
От туда.
http://ideone.com/3KjycI
+128
Sorry! The page could not be loaded.
Unable to connect to MySQL and select database.
MySQL reported: Access denied for user 'root'@'localhost' (using password: YES)
http://gvforum.ru/
эх, vasiliy, кто ж на продакшене базу от рута поднимает? надо же от юзверя с правами insert, delete, update, select