- 1
b:=(1-(n+1))/2
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+20.5
b:=(1-(n+1))/2
Ничего не трогать, пусть работает, как есть!
+17.8
Function nSetColorPair(att : integer) : integer;
var
i : integer;
Begin
bg := att div 16;
fg := att - (bg * 16);
While bg > 7 Do dec(bg,8);
While fg > 7 Do dec(fg,8);
// . . .
Кусок модуля nCRT для FreePascal 2.2. У нормальных людей att - это байт. И вообще... Говно код!
−25.3
procedure date_mask(date_edit:TEdit);
var s:string;
i:integer;
begin
case length(date_edit.Text) of
2:begin
date_edit.Text:=date_edit.Text+'.';
date_edit.SelStart:=3;
end;
5:begin
date_edit.Text:=date_edit.Text+'.';
date_edit.SelStart:=6;
end;
end;
if length(date_edit.Text)=10 then
begin
for i:=1 to 9 do
begin
s:=s+date_edit.Text[i];
end;
date_edit.Text:=s;
date_edit.SelStart:=9;
end;
end;
чтобы в компонент edit вводить дату)
+23
if not MultiThread then
begin
GetName(@rec);
result:=rec.fname;
end
else
begin
hThread:=CreateThread(0,0,@GetName,@rec,0,tmp);
if WaitForSingleObject(hThread,100)=WAIT_TIMEOUT then
TerminateThread(hThread,0)
else
result:=rec.fname;
CloseHandle(hThread);
end;
Дельфисты - ущербные люди......
−23.1
if (TableData = 1) or ((TableData = 2) and
(Pos(FieldDelim + 'Т_НАЦ' + FieldDelim, OpArtFields) > 0)) then
sSelect := sSelect + ', ' + LMax + 'AR.Percent' + R + ' AR_Percent';
if (TableData = 1) or ((TableData = 2) and
(Pos(FieldDelim + 'Т_КАТ' + FieldDelim, OpArtFields) > 0)) then
sSelect := sSelect + ', ' + LMax + 'AR.ID_ArtCat' + R + ' AR_ID_ArtCat';
if (TableData = 1) or ((TableData = 2) and
(Pos(FieldDelim + 'Т_ВЕС' + FieldDelim, OpArtFields) > 0)) then
sSelect := sSelect + ', ' + LMax + 'AR.Weight' + R + ' AR_Weight';
if (TableData = 1) or ((TableData = 2) and
(Pos(FieldDelim + 'Т_ОБЪЕМ' + FieldDelim, OpArtFields) > 0)) then
sSelect := sSelect + ', ' + LMax + 'AR.Capacity' + R + ' AR_Capacity';
if (TableData = 1) or ((TableData = 2) and
(Pos(FieldDelim + 'МИННАЦ' + FieldDelim, OpArtFields) > 0)) then
sSelect := sSelect + ', ' + LMax + 'AR.MinDiscount' + R + ' AR_MinDiscount';
if (TableData = 1) or ((TableData = 2) and
(Pos(FieldDelim + 'Т_МИНКОЛ' + FieldDelim, OpArtFields) > 0)) then
sSelect := sSelect + ', ' + LMax + 'AR.MinQuantity' + R + ' AR_MinQuantity';
if (TableData = 1) or ((TableData = 2) and
(Pos(FieldDelim + 'Т_СТАТУС' + FieldDelim, OpArtFields) > 0)) then
sSelect := sSelect + ', ' + LMax + 'AR.Status' + R + ' AR_Status';
if (TableData = 1) or ((TableData = 2) and
(Pos(FieldDelim + 'Т_ГТД' + FieldDelim, OpArtFields) > 0)) then
sSelect := sSelect + ', ' + LMax + 'AR.GTD' + R + ' AR_GTD';
if (TableData = 1) or ((TableData = 2) and
(Pos(FieldDelim + 'Т_СТРАНА' + FieldDelim, OpArtFields) > 0)) then
sSelect := sSelect + ', ' + LMax + 'CO.Name' + R + ' AR_Country';
Собирание SQL - запроса для выборки полей. И это маленький кусочек :)
Серьёзная контора с миллиардными оборотами!
−42.8
procedure TForm1.fritb(ie:longint;var fr0:extended);
begin
v1:=0;
for nsf:=1 to 5 do
begin
kl11:=0;kl12:=0;kl22:=0;
for k:=1 to km[nsf] do
begin
if (cm^[ie]=cm^[nm^[(ie-1)*kms[ksf+1]+kms[nsf]+k]])and (cm^[ie]=1)
then kl11:=kl11+1;
if (cm^[ie]=cm^[nm^[(ie-1)*kms[ksf+1]+kms[nsf]+k]])and (cm^[ie]=2)
then kl22:=kl22+1;
if (cm^[ie]<>cm^[nm^[(ie-1)*kms[ksf+1]+kms[nsf]+k]])and(cm^[nm^[(ie-1)*kms[ksf+1]+kms[nsf]+k]]<>0)and (cm^[ie]<>0)
then kl12:=kl12+1;
end;
fr0:=fr0+kl11*(p11[1,nsf])+kl22*p11[2,nsf]+kl12*p11[3,nsf];
v1:=v1+kl11*(f11[1,nsf])+kl22*f11[2,nsf]+kl12*f11[3,nsf];
end;
fr0:=fr0-sqrt(abs(v1));
end;
процеДуро
−12.7
for i:=sk[(npl-1)*5+1] to sk[(npl-1)*5+2]-1 do
begin
l1:=0;l2:=0;l3:=0;l4:=0;l5:=0;l6:=0;l7:=0;l8:=0;l9:=0;l10:=0;
for j:=1 to 100 do g1[j]:=0;
for k:=sk[(npl-1)*5+1] to sk[(npl-1)*5+2] do
if (k<>i )and
(((abs(xyz^[pxyz^[i]].x-xyz^[pxyz^[k]].x)< dd) or ((lx-abs(xyz^[pxyz^[i]].x-xyz^[pxyz^[k]].x))<dd))
and ((abs(xyz^[pxyz^[i]].y-xyz^[pxyz^[k]].y)<dd) or ((ly-abs(xyz^[pxyz^[i]].y-xyz^[pxyz^[k]].y))<dd))
and ((abs(xyz^[pxyz^[i]].z-xyz^[pxyz^[k]].z)<dd) or ((lz-abs(xyz^[pxyz^[i]].z-xyz^[pxyz^[k]].z))<dd)))
then
это только заголовок цикла ..
−5.8
function IntToMonth(NumberMonth: Integer): string;
begin
сase NumberMonth of
1: Result := 'Январь';
2: Result := 'Февраль';
3: Result := 'Март';
4: Result := 'Апрель';
5: Result := 'Май';
6: Result := 'Июнь';
7: Result := 'Июль';
8: Result := 'Август';
9: Result := 'Сентябрь';
10: Result := 'Октябрь';
11: Result := 'Ноябрь';
12: Result := 'Декабрь';
else
Result := 'Август';
end;
end;
Думаю, по названию функции все понятно :)
+24
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
Деньга = record
Достоинство:integer;
Количество:integer;
end;
var
Лопатник: array of Деньга;
procedure ПоложитьНаЛопату(Купюра:Integer);
var
I: Integer;
УжеПоложили:Boolean;
begin
if Купюра=0 then
Exit;
УжеПоложили:=False;
for I := low(Лопатник) to High(Лопатник) do
if Лопатник[i].Достоинство=Купюра then
begin
inc(Лопатник[i].Количество);
УжеПоложили:=True;
end;
if not(УжеПоложили) then
begin
SetLength(Лопатник,Length(Лопатник)+1);
Лопатник[High(Лопатник)].Достоинство:=Купюра;
Лопатник[High(Лопатник)].Количество:=1;
end;
end;
var
Купюра:integer;
i:integer;
ВсегоНаЛопате:integer;
begin
repeat
Readln(Купюра);
ПоложитьНаЛопату(Купюра);
until Купюра=0;
ВсегоНаЛопате:=0;
for I := low(Лопатник) to High(Лопатник) do
begin
WriteLn(Format('Cost = %d Count - %d',[Лопатник[i].Достоинство,Лопатник[i].Количество]));
inc(ВсегоНаЛопате,Лопатник[i].Достоинство*Лопатник[i].Количество);
end;
WriteLn(Format('All money - %d',[ВсегоНаЛопате]));
ReadLn;
end.
Вообще-то это Delphi, но его в списке не было ;)
Задача была такая:
пользователь вводит достоинства купюры в произвольном порядке, ввод прекращ