-
+121
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
class RandomGeneratorFiveState : RandomGenerator {
int zero, one, two, three, four, min, max;
public RandomGeneratorFiveState(int min, int zero, int one, int two, int three, int four)
: base() {
max = min + (four != 0 ? 4 : three != 0 ? 3 : two != 0 ? 2 : one != 0 ? 1 : 0);
this.min = min;
this.zero = zero;
this.one = this.zero + one;
this.two = this.one + two;
this.three = this.two + three;
this.four = this.three + four;
}
public override int Next() {
int n = Random.Next(four);
if(n < zero) return min;
if(n < one) return min + 1;
if(n < two) return min + 2;
if(n < three) return min + 3;
return min + 4;
}
public override int GetMax() { return max; }
public override int GetMin() { return min; }
}
amartynov,
23 Декабря 2010
-
+145
- 1
http://www.zvezdi-oriona.ru/134679.htm
тут все прекрасно: и HTML и JS
Анонимус,
23 Декабря 2010
-
+152
- 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
$src = $_GET["src"];
$w = $_GET["w"];
$h = $_GET["h"];
$q = $_GET["q"];
$info = pathinfo($src);
$ext = $info["extension"];
if($ext == "jpg" or $ext == "jpeg"){
$img = imagecreatefromjpeg($src);
}
else if($ext == "gif"){
$img = imagecreatefromgif($src);
}
else if($ext == "png"){
$img = imagecreatefrompng($src);
}
$x = $w / imagesx($img);
$y = $h / imagesy($img);
$k = ($x > $y) ? $y : $x;
$nw = intval(imagesx($img) * $k);
$nh = intval(imagesy($img) * $k);
$img1 = imagecreatetruecolor($nw, $nh);
// $img1 = imagecreatefromjpeg("bj.jpg");
imagecopyresampled($img1, $img, 0, 0, 0, 0, $nw, $nh, imagesx($img), imagesy($img));
header("Content-type: image/jpeg");
imagejpeg($img1, null, $q);
imagedestroy($img);
imagedestroy($img1);
Кусман отборного калища руки Великого уё... Гудвина =)
Ice,
23 Декабря 2010
-
−110
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
columns.each do |c|
case c
when 'Device'
h << c
when 'Usage'
h << c
when 'Status'
h << c
when 'Battery'
h << c
when 'GPS status'
h << c
when 'Wi-Fi status'
h << c
when 'Temperature'
h << c
when 'Alerts'
h << c
end
end
случайно вот родил )
Dreamfall,
23 Декабря 2010
-
+133
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
<form action="/admin.php?action=edit_category&name=razdel1" method="post">
<table>
<tr>
<td>
<input type="image" src="views/admin/i/save.png" value="Сохранить" />
</td>
</tr>
<tr>
<td>
Название раздела:
<input type="text" name="name" value="Раздел1" size="41" maxlength="128" />
</td>
</tr>
</table>
</form>
"Имею большой опыт в области веб-программирования" говорите? Вот кусок творения нашего прославившегося клована Мишустика. Пруф для лулзов будет ниже в комменте.
Викинул лишнее и отформатировал для простоты понимания.
Как можно догадаться, редактирование раздела производится по идентификатору в параметре name, передаваемому методом GET. Название же раздела передается в одноименном параметре, только методом POST. Оригинально, да?
А как же задается идентификатор раздела? Обычным транслитом из названия!
Изменяем название с "Раздел1" на "Раздел2" - Сохранить - "Название раздела изменено!" Ок. Остаемся в этой же форме и пробуем изменить название обратно, сохраняем... А хрен вам - "Раздела не существует!"
Ну правильно, че! Идентификатор раздела в базе изменился на "razdel2", а форма по прежнему работает с "razdel1".
Вот такая вот реализация ЧПУ. Из этих идентификаторов потом строится адрес страницы а-ля http://test.soft-oskol.ru/razdel1/index.html
Uchkuma,
23 Декабря 2010
-
+166
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
<?php
switch(func_num_args())
{
case 1:
$$class = new $class(func_get_arg(0));
break;
# ....
case 7:
$$class = new $class(func_get_arg(0), func_get_arg(1), func_get_arg(2), func_get_arg(3), func_get_arg(4), func_get_arg(5), func_get_arg(6));
break;
default:
$$class = new $class();
break;
}
?>
Боюсь подумать о 10 и более передаваемых переменных в конструктор класса
MoLe-X,
23 Декабря 2010
-
+99
- 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
Procedure MakeChain(x: real; var a: array of word); (* Процедура раскладывает вещественное число в цепную дробь *)
var
i: byte;
begin
i:=0;
Repeat
a[i]:=Int(x); x:=1/(x-a[i]); i:=i+1
Until (abs(1/x) < epsilon) or (Int(x) = 0) (* NB! *)
end;
Procedure MakeFrac(a: array of word; var AN, BN: word); (* Процедура собирает обыкновенную дробь из цепной дроби *)
var
i: byte; AP, BP: word; temp: word;
begin
AN:=1; AP:=0; BN:=a[1]; BP:=1; i:=2;
Repeat
temp:=AN; AN:=AN*a[i]+AP; AP:=temp;
temp:=BN; BN:=BN*a[i]+BP; BP:=temp;
i:=i+1
Until a[i] = 0 (* NB! *)
end;
Function PowerInt(x: real; p: longint): real; (* возведение числа в целую степень *)
var
R: real;
begin
R:=1; if p<0 then x:=1/x; p:=abs(p);
Repeat
if p and 1 = 1 then R:=R*x;
p:=p shr 1;
if p<>0 then x:=sqr(x)
Until p=0;
PowerInt:=R
end;
Function Power(x: real; p: real): real;
var
y: real;
z: array[0..16000 div sizeof(word)] of word;
a, b: word;
begin
y:=PowerInt(x, Trunc(p)) * exp(Frac(p) * ln(abs(x)));
if x<0 then
begin
MakeChain(Frac(p), z);
MakeFrac(z, a, b);
if Odd(b) then
begin
if Odd(a) then y:=-y (* если числитель и знаменатель показателя степени нечётные, меняем знак результата *)
end
else
begin
(* NB! В случае чётного знаменателя показателя степени результат комплексный. Забьём на это *)
end
end;
Power:=y
end;
Инновационный алгоритм, написанный мной лет 12 тому назад, позволяющий возводить отрицательные числа в дробную степень.
Жанру сайта вполне соответствует, то есть не без говнокода.
inkanus-gray,
23 Декабря 2010
-
+141
- 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
void array_random_input(int *array, unsigned int *array_size)
{
unsigned register int i, j;
for(i=0; i<(*array_size); i++)
for(j=0; j<(*array_size); j++)
*(array + (*array_size) * i + j) = rand()%100;
}
void array_recombination(int *array, unsigned int *array_size)
{
unsigned register int i, j, tmp;
for(i=0; i<(*array_size)/2; i++)
for(j=0; j<(*array_size)/2; j++)
{
tmp = *(array + (*array_size) * i + j);
*(array + (*array_size) * i + j) = *(array + (*array_size) * ((*array_size)/2 + i) + ((*array_size)/2 + j));
*(array + (*array_size) * ((*array_size)/2 + i) + ((*array_size)/2 + j)) = tmp;
}
for(i=0; i<(*array_size)/2; i++)
for(j=(*array_size)/2; j<(*array_size); j++)
{
tmp = *(array + (*array_size) * i + j);
*(array + (*array_size) * i + j) = *(array + (*array_size) * ((*array_size)/2 + i) + (j - (*array_size)/2));
*(array + (*array_size) * ((*array_size)/2 + i) + (j - (*array_size)/2)) = tmp;
}
}
//ardent greetings to my teacher F.S.V.! :)
Условие задачи: необходимо создать динамический двумерный массив размерностью 2n и сделать перестановку крест накрест его четвертей. В качестве параметров все функции принимают указатели. Для пущего brainfuck'а доступ к элементам массива осуществлялся с использованием одномерной адресации (по другому никак не получалось :)
Для сокращения привожу только функции наполнения массива случайными значениями и перестановки элементов.
mr_visor,
23 Декабря 2010
-
+110
- 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
protected void Page_Load(object sender, EventArgs e)
{
Common.CheckAuthorization(Response, Session);
string uniqueID = Request["__EVENTTARGET"];
if (uniqueID != null)
{
UpdatePanel.ContentTemplateContainer.Controls.Clear();
string controlPath;
Control control = GetViewControlOnEvent(uniqueID, out controlPath);
if (control != null)
{
UpdatePanel.ContentTemplateContainer.Controls.Add(control);
Helpers.SetKeyInSession(Common.CATALOG_KEYS.CONTROL_PATH, controlPath, Session);
}
else
{
UpdatePanel.ContentTemplateContainer.Controls.Add(
GetViewControlOnSession());
}
}
else
{
if (ControlParam == null)
Helpers.SetKeyInSession(Common.CATALOG_KEYS.CONTROL_PATH, Common.PATHS.USER_CONTROLS.MAIN_CONTROL, Session);
UpdatePanel.ContentTemplateContainer.Controls.Add(
GetViewControlOnSession());
}
TreeViewState.SaveTreeView(treeCatalogs, this.GetType().ToString());
this.PreRender += OnPreRender;
}
Nigma143,
22 Декабря 2010
-
+145
- 1
for(rptr=0;rptr<10;rptr++) // пока очередь не опустела
выборка элементов из FIFO =D
resettik,
22 Декабря 2010