program project1; const ArrHigh = 100; var imas2 : array [1..ArrHigh] of integer; imas3 : array [1..ArrHigh] of boolean; { тут мы смотрим, какие числа уже использовались } procedure RandomizeArray; var i, j, k : integer; begin FillChar(imas3, SizeOf(imas3), 0); { заполняем массив значениями False (а вдруг массив в стеке будет?) } randomize; j := Low(imas2); { индекс в массиве imas2 } repeat k := random(ArrHigh) + 1; if imas3[k] then continue; { если такое число уже использовалось, выбираем следующее число } imas2[j] := k; imas3[k] := True; inc(j); until j > High(imas2); end; var i: integer; begin RandomizeArray; for i := low(imas2) to high(imas2) do begin write(imas2[i], ' '); if i mod 10 = 0 then writeln; end; end. |