Текущий архив: 2007.05.13;
Скачать: CL | DM;
Вниз
Правильно-ли работает RandomRange ? Найти похожие ветки
← →
kyn66 © (2007-03-14 12:35) [0]Мне необходимо, чтобы числа были из диапазона 1-3 включительно. Выствив условие
RandomRange(1, 3)
я получаю числа 1 и 2. А 3 где?
Выствив условие
RandomRange(1, 4)
я получаю числа 1, 2 и 3. Может это случайно 4 не попало в получаемый список ? Как правильно выставляются границы?
← →
Сергей М. © (2007-03-14 12:40) [1]
> kyn66 © (14.03.07 12:35)
Либо в справке ошибка (д.б. exclusive вместо inclusive) либо логика ф-ции ошибочна (не соответствует заявленной в справке)
← →
Рамиль © (2007-03-14 12:44) [2]В справке сказано включительно.
Description
RandomRange returns a random integer from the range that extends between AFrom and ATo (inclusive). RandomRange can handle negative ranges (where AFrom is greater than ATo).
Видимо ошибка, судя по работе функции получается включая AFrom и исключая ATo
странно как то
← →
Рамиль © (2007-03-14 12:47) [3]А, ну собсно понятно.
function Random [ ( Range: Integer) ];
In Delphi code, Random returns a random number within the range
0 <= X < Range.
А функция RandomRangefunction RandomRange(const AFrom, ATo: Integer): Integer;
begin
if AFrom > ATo then
Result := Random(AFrom - ATo) + ATo
else
Result := Random(ATo - AFrom) + AFrom;
end;
← →
DrPass © (2007-03-14 12:49) [4]Цитата из модуля Math:
function RandomRange(const AFrom, ATo: Integer): Integer;
begin
if AFrom > ATo then
Result := Random(AFrom - ATo) + ATo
else
Result := Random(ATo - AFrom) + AFrom;
end;
Т.к. Random выдает случайные числа, не включая указанную границу диапазона, то справка нагло врет :)
← →
DrPass © (2007-03-14 12:50) [5]
> Рамиль © (14.03.07 12:47) [3]
Я хотел было поумничать, но опоздал. Ты сам разобрался :)
← →
kyn66 © (2007-03-14 13:23) [6]Ноняно, короче правильно берется тока нижний диапазон, а верхний нуно увеличивать на единицу для првильности
← →
RASkov (2007-03-14 14:58) [7]> [6] kyn66 © (14.03.07 13:23)
Ну или перепиши эту функцию с учетом(исправлением) этого косяка.....
← →
kyn66 © (2007-03-14 18:09) [8]А после переустановки винды вспоминай чего делал и опять компилируй заново?
Страницы: 1 вся ветка
Текущий архив: 2007.05.13;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.029 c