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 таких же, но расположенные случайным образом.
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы! |
![]() |