Уголок мусульманинаАллах смотрит на сердца ваши
Сообщается, что Абу Хурайра Абд Ар-Рахман бин Сахр, да будет доволен им Аллах, сказал:
«Посланник Аллаха, да благословит его Аллах и да приветствует, сказал: Поистине, Аллах Всевышний не смотрит ни на тела ваши, ни на ваше обличье, но смотрит Он на сердца ваши».
|
|
|
Randomize, случайные числа |
|
|
0x90 |
Сообщение # 21
|
Есть прописка
Репутация: 40
Группа: Посетители
Пол: мужской
Сообщений: 347
|
Smith, где же кодес?
--------------------
Нет рабства безнадежнее, чем рабство тех рабов, себя кто полагает свободным от оков.
|
|
|
Smith |
Сообщение # 22
|
Govz-Профессионал
Репутация: 166
Группа: Доверенные
Пол: мужской
Сообщений: 2349
|
Стыдно мне такие вещи показывать.
Этож как примеры первого класса.
--------------------
Если меч может пригодиться раз в жизни, то есть смысл носить его всегда.
ГовзОнЛ@йн |
|
|
Stigal |
Сообщение # 23
|
GOVZ-постер
Репутация: 324
Группа: Доверенные
Пол: мужской
Сообщений: 3031
ICQ: 422444744
|
Дядя Смит, а ты сваргань неповторяющийся рандомайз ))
--------------------
Грехи людей пересчитать ты так усердно рвёшься?
С своих начни, и до чужих едва ли доберешься.
|
|
|
Magistre |
Сообщение # 24
|
Активный форумчанин
Репутация: 23
Группа: Доверенные
Пол: мужской
Сообщений: 606
|
да пожалуйста
|
|
|
0x90 |
Сообщение # 25
|
Есть прописка
Репутация: 40
Группа: Посетители
Пол: мужской
Сообщений: 347
|
Решил, вброшу-ка и я код расово правильного рандомайзера:
void func(int *dst,int size, int limit)
{
srand(time(0));
for(int k = 0; k<size; k++)
{
dst[k] = rand()%limit;
for(int i = 0; i<k; i++)
{
if(d
st[k] == dst[i])
&n;
bsp; while(dst[k] == (dst[i] = rand()%limit));
}
}
return;
}
На вход функции func подается указатель на массив, длина массива и максимальное число из случайных, которым заполняется массив.
--------------------
Нет рабства безнадежнее, чем рабство тех рабов, себя кто полагает свободным от оков.
|
|
|
0x90 |
Сообщение # 26
|
Есть прописка
Репутация: 40
Группа: Посетители
Пол: мужской
Сообщений: 347
|
void func(int *dst,int size, int limit)
{
srand(time(0));
for(int k = 0; k<size; k++)
{
dst[k] = rand()%limit;
for(int i = 0; i<k; i++)
{
if(dst[k] == dst[i])
while(dst[k] == (dst[i] = rand()%limit));
}
}
return;
}
--------------------
Нет рабства безнадежнее, чем рабство тех рабов, себя кто полагает свободным от оков.
|
|
|
RAM_ZAN |
Сообщение # 27
|
Уже осваивается
Репутация: 5
Группа: Посетители
Пол: мужской
Сообщений: 78
|
Знаю, что поздно, но все равно напишу свой вариант.
label rep;
var
a : array[1..9] of Integer;
i,j,buf : Integer;
begin
Randomize;
for i :=1 to 9 do begin
rep:
buf :=Random(36) + 1;
for j :=1 to 9 do
if buf = a[j] then
goto rep;
a[i] :=buf;
end;
|
|
|
RAM_ZAN |
Сообщение # 28
|
Уже осваивается
Репутация: 5
Группа: Посетители
Пол: мужской
Сообщений: 78
|
или улучшенная версия
procedure rand(const len : Byte = 9; const max : Integer = 36);
label rep;
var
a : array of Integer;
i,j,buf : Integer;
begin
if (len > 0) and (max > 0) then begin
Randomize;
SetLength(a,len);
for i :=0 to len - 1 do begin
rep:
buf :=Random(max) + 1;
for j :=0 to i do
if buf = a[j] then
goto rep;
a[i] :=buf;
end;
end;
end;
|
|
|
Smith |
Сообщение # 29
|
Govz-Профессионал
Репутация: 166
Группа: Доверенные
Пол: мужской
Сообщений: 2349
|
Остановись! Перфекционизм штука серьезная, затягивает
--------------------
Если меч может пригодиться раз в жизни, то есть смысл носить его всегда.
ГовзОнЛ@йн |
|
|
RAM_ZAN |
Сообщение # 30
|
Уже осваивается
Репутация: 5
Группа: Посетители
Пол: мужской
Сообщений: 78
|
Цитата: Smith Остановись! Перфекционизм штука серьезная, затягивает
Я этим не страдаю. Мне всегда лень оптимизировать код своих программ. Просто решил сделать в виде процедуры.
|
|
|
|
|
|
|
|