- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
b:=['F','G','K','L','N'];
for i:=1 to 10 do
for j:=1 to 10 do
begin
repeat
M[i,j] := chr(random(9)+70);
until M[i,j] in b;
end;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+153
b:=['F','G','K','L','N'];
for i:=1 to 10 do
for j:=1 to 10 do
begin
repeat
M[i,j] := chr(random(9)+70);
until M[i,j] in b;
end;
Надо заполнить массив случайными буквами из набора. Бросаем монетку, пока не выпадет решка...
+152
for i=1 to 10 do i=i+1- ошибка в дельфи .как отключить эту фишку
улыбнуло)
+153
var c:longint;
begin
c:= 12345;
write( char( ( ((( (c div 10000) mod 10 ) mod 2) + 1) mod 2) * (( (c div 10000) mod 10 ) +
byte( '0' )) + (( (c div 10000) mod 10 ) mod 2) * byte(' ') ) ,
char( ( ((( (c div 1000) mod 10 ) mod 2) + 1) mod 2) * (( (c div 1000) mod 10 ) +
byte( '0' )) + (( (c div 1000) mod 10 ) mod 2) * byte(' ') ) ,
char( ( ((( (c div 100) mod 10 ) mod 2) + 1) mod 2) * (( (c div 100) mod 10 ) +
byte( '0' )) + (( (c div 100) mod 10 ) mod 2) * byte(' ') ) ,
char( ( ((( (c div 10) mod 10 ) mod 2) + 1) mod 2) * (( (c div 10) mod 10 ) +
byte( '0' )) + (( (c div 10) mod 10 ) mod 2) * byte(' ') ) ,
char( ( ((( (c div 1) mod 10 ) mod 2) + 1) mod 2) * (( (c div 1) mod 10 ) +
byte( '0' )) + (( (c div 1) mod 10 ) mod 2) * byte(' ') ) );
readln;
end.
На одном чайникофоруме попросили решить задачу на паскале: вывести все чётные цифры пятизначного числа. При этом нельзя пользоваться функциями, циклами и условными операторами. Вот, что у меня из этого получилось :)
+150
VAR FL:TEXTFILE;
l:string;
i:integer;
xmass,itrmass:array [1..100] of real;
begin
{...}
ASSIGNfile(FL,'results.txt');
reset(fl);
readln(fl,l);
i:=1;
while L[i]<>' ' do begin
xmass[i]:=strtoint(L[1]);
i:=i+1;
end;
{...}
end;
В файле хранилась последовательность вещественных чисел... Такой вот вариант ее оттуда выкорчевать о_О
+152
if currIndex=2 then
begin
// разкрываем выделенные узлы
TreeView_U.Items[r].Expanded:=true;
if TreeView_U.Items[r].Parent <> nil then
begin
TreeView_U.Items[r].Parent.Expanded:=true;
if TreeView_U.Items[r].Parent.Parent <> nil then
begin
TreeView_U.Items[r].Parent.Parent.Expanded:=true;
if TreeView_U.Items[r].Parent.Parent.Parent <> nil then
TreeView_U.Items[r].Parent.Parent.Parent.Expanded:=true;
end;
end;
Наткнулся тут в прокете. Поначалу просто кусок закоментировал не разбираясь, потому что просто не нужен. Суть - попытка раскрыть полностью ветвь дерева, если в ней есть хоть один выбранный (с помеченным чекбоксом) элемент, о чём говорит currIndex=2.
Весь офис валяется под столами :)))
+148
if currIndex=2 then
begin
// разкрываем выделенные узлы
TreeView_U.Items[r].Expanded:=true;
if TreeView_U.Items[r].Parent <> nil then
begin
TreeView_U.Items[r].Parent.Expanded:=true;
if TreeView_U.Items[r].Parent.Parent <> nil then
begin
TreeView_U.Items[r].Parent.Parent.Expanded:=true;
if TreeView_U.Items[r].Parent.Parent.Parent <> nil then
TreeView_U.Items[r].Parent.Parent.Parent.Expanded:=true;
end;
end;
Это попытка раскрыть полностью ветвь дерева, если в ней есть хоть один выбранный (с помеченным чекбоксом) элемент, о чём говорит currIndex=2
Вообще-то оно даже работает, ибо вложенность дерева маленькая. Но увеличиться запросто может...
+141
{ Units of time }
HoursPerDay = 24;
MinsPerDay = HoursPerDay * 60;
SecsPerDay = MinsPerDay * 60;
MSecsPerDay = SecsPerDay * 1000;
SysUtils.pas из delphi 6
+141.5
procedure TForm2.s1;
var a,a1:real;
begin
a:=a+1.8;
randomize;
if p<1 then
begin
if a<1.9 then
begin
a:=999;
a1:=random(4);
if a1=2 then
begin
GroupBox5.Visible:=True;
GroupBox6.Visible:=False;
GroupBox1.Visible:=False;
end
else
if a1=3 then
begin
GroupBox5.Visible:=False;
GroupBox6.Visible:=True;
GroupBox1.Visible:=False;
end
else
begin
GroupBox5.Visible:=False;
GroupBox6.Visible:=False;
GroupBox1.Visible:=True;
end
end
end
end;
0_o
+138.9
1000:
nume:=0;
for i:=1 to mmes do work^[i]{^}:=work^[i]{^}+hde;
iter:=iter+1;
for j:=1 to 2 do
begin
if j=1 then w:=work^[1]{^};
if j=2 then w:=work^[mmes]{^} ;
ab:=2*sqrt(3.*abs(1.-w));
w1:=ab;
for i:=1 to 10 do
begin
w2:=ab * sqrt(1.+w1);
if abs(w2-w1)<1.e-6 then goto 18;
w1:=w2
end;
18:
wkb:=(1.+w2)/w;
if j=1 then rpsi[1]^:=work^[2]{^}*wkb;
if j=2 then rpsi[mmes]^:=work^[m1]{^}*wkb
end;
b:=rpsi[mmes]^;
for i:=1 to m1 do
begin
npsi:=mmes-i;
a:=(12./work^[npsi]{^}-10.0)-1./b;
rpsi[npsi]^:=a;
b:=a;
if a<=1. then goto 30
end;
30:
mcross:=npsi;
rmcros:=a;
b:=rpsi[1]^;
for i:=2 to mcross do
begin
a:=(12./work^[i]{^}-10.0)-1./b;
rpsi[i]^:=a;
b:=a;
if a<0. then nume:=nume+1
end;
if (iter=1) and (nume<num) then writeln('error in initial Eh');
if nume=num then goto 50;
if (not bisec) then writeln('give left energy El');
if (succes) then goto 60;
if nume>num then eh:=enew;
if nume<num then el:=enew;
goto 80;
50:
m3:=mcross+1;
m4:=mcross-1;
a:=1.-0.5/work^[m3]{^};
a1:=a*(1./rpsi[m3]^-rpsi[mcross]^);
b:=1.-0.5/work^[m4]{^};
b1:=b*(rmcros-1./rpsi[m4]^);
de:=(a1-b1)*work^[mcross]{^};
if de>0. then eh:=enew;
if de<0. then el:=enew;
it:=it+1;
goto 70;
60:
it:=0;
70:
if it>=maxit then goto 100;
80:
eold:=enew;
delta:=(el-eh)*0.5;
enew:=eh+delta;
hde:=hsq12*(enew-eold);
succes:=false;
{writeln ('delta=',delta); }
if abs(delta)>1.e-10 then goto 1000;
{writeln('enew=',enew); }
if nume=num then goto 90;
writeln ('degeneration : num-state=nume-state ');
halt;
90:
{ lip:=true; }
100:
succes:=true;
1 из 3-х модулей, которые мне нужно оснастить ГУИ, оптимизировать и привнести абстракцию...
+25
pX := CalcDipol(coord1[index], coord2[index]).X;
pY := CalcDipol(coord1[index], coord2[index]).Y;
MoveTo(center.X, center.Y);
LineTo(pX, pY);