| imho.ws |
![]() |
|
|
|
# 21 |
|
::VIP::
Звезда первого сезона Молчун-2004 Регистрация: 24.08.2002
Сообщения: 1 575
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Warchief
Функция pred вычисляет предыдущее число, т.е. вместо pred(i) можно ставить (i - 1). Переменные i, j, l предназначены только для организации циклов. А r, m - содержат случайным образом выбранные два числа - номер строки и столбца в массиве. Переменная p - логическая. Используется для проверки того, что новое сгенерированное число еще отсутствует в массиве. В принципе, это было можно решить с помощью множества (set of byte), только зачем... ![]() Участок кода Код:
repeat
p := true;
b[i] := random (99) + 1;
for j := 1 to pred (i) do
p := p and (b[j] <> b[i]);
until p;
Код:
for l := 1 to 2 do begin
repeat
r := random(n) + 1;
m := random(n) + 1;
until a[r, m] = 0;
a[r, m] := b[i];
end;
Два массива нужно, чтобы сгенерированные random'ом числа не повторялись. Массив b содержит случайные неповторяющиеся числа, а массив a - по 2 таких же, но расположенные случайным образом.
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы! |
|
|