о Грозном Рестораны и кафе книга жалоб Чеченский форум Интересное Кино О Чечне и чеченцах Проза и поэзия Мастера Чечни Фото Ислам

Популярные статьи

Уголок мусульманина

Аллах смотрит на сердца ваши

Сообщается, что Абу Хурайра Абд Ар-Рахман бин Сахр, да будет доволен им Аллах, сказал:
«Посланник Аллаха, да благословит его Аллах и да приветствует, сказал: Поистине, Аллах Всевышний не смотрит ни на тела ваши, ни на ваше обличье, но смотрит Он на сердца ваши».
 
    Чеченский форум GovzPeople.ru » Мнения, опросы, разговоры » IT - Информационные технологии  

2 страниц 1 2 Далее
    Randomize, случайные числа  
0x90
Сообщение # 21


Есть прописка
  • 51

Репутация: 40
Группа: Посетители
Пол: мужской
Сообщений: 347

Smith, где же кодес?



--------------------
Нет рабства безнадежнее, чем рабство тех рабов, себя кто полагает свободным от оков.
Smith
Сообщение # 22


Govz-Профессионал
  • 85

Репутация: 166
Группа: Доверенные
Пол: мужской
Сообщений: 2349

Награда
Стыдно мне такие вещи показывать.
Этож как примеры первого класса.
:laughing:



--------------------
Если меч может пригодиться раз в жизни, то есть смысл носить его всегда.

ГовзОнЛ@йн
Stigal
Сообщение # 23


GOVZ-постер
  • 85

Репутация: 324
Группа: Доверенные
Пол: мужской
Сообщений: 3031
ICQ: 422444744

Дядя Смит, а ты сваргань неповторяющийся рандомайз ))



--------------------
Грехи людей пересчитать ты так усердно рвёшься?
С своих начни, и до чужих едва ли доберешься.
Magistre
Сообщение # 24


Активный форумчанин
  • 51

Репутация: 23
Группа: Доверенные
Пол: мужской
Сообщений: 606

да пожалуйста


0x90
Сообщение # 25


Есть прописка
  • 51

Репутация: 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


Есть прописка
  • 51

Репутация: 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


Уже осваивается
  • 34

Репутация: 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


Уже осваивается
  • 34

Репутация: 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-Профессионал
  • 85

Репутация: 166
Группа: Доверенные
Пол: мужской
Сообщений: 2349

Награда
Остановись! Перфекционизм штука серьезная, затягивает :winked:



--------------------
Если меч может пригодиться раз в жизни, то есть смысл носить его всегда.

ГовзОнЛ@йн
RAM_ZAN
Сообщение # 30


Уже осваивается
  • 34

Репутация: 5
Группа: Посетители
Пол: мужской
Сообщений: 78

Цитата: Smith
Остановись! Перфекционизм штука серьезная, затягивает

Я этим не страдаю. Мне всегда лень оптимизировать код своих программ. Просто решил сделать в виде процедуры.


2 страниц 1 2 Далее