Создание массива из случайных целых чисел из определённого промежутка. Числа в массиве не должны повторяться - VB

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Недавно занялся Visual Basic'ом и столкнулся с такой проблемой. Дан массив x(100). Ему нужно присвоить целые значения от 0 до 99, но таким образом, чтобы они были разбросаны в случайном порядке и не повторялись. Ну, например, x(0) = 21, x(1) = 16, x(2) = 95, x(3) = 50 и так далее. Но, ещё раз скажу, числа не должны повторяться. Сделал вот такой код:
Код, по идее, должен быть рабочий, но проблема в том, что значения подбираются очень долго. Когда массив состоит из малого количества значений, то такой код подойдёт, но для большого массива - нет. Можно ли как-то проще проверить уникальность всех значений массива?

Решение задачи: «Создание массива из случайных целых чисел из определённого промежутка. Числа в массиве не должны повторяться»

textual
Листинг программы
Private Sub Комманда1_Click()
    Dim i&, j&, a&(1 To 100)
    Randomize
    For i = 1 To 100
        j = Int(Rnd * i + 1)
        If i <> j Then a(i) = a(j)
        a(j) = i - 1
    Next i
End Sub

Оцени полезность:

12   голосов , оценка 4.083 из 5
Похожие ответы