Генератор случайных чисел выдает одни и те же значения - Visual Basic .NET

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

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

Вопрос по генератору случайных чисел! Скачал где-то код, подправил под свои нужды, но... Задача. Необходимо разместить 19 чисел (от 1 до 19) случайным образом. Повторения исключены и чисел должно быть именно 19. Каждое число записывается в отдельную переменную. При следующем обращении в этих переменных уже другие числа из заданного диапазона. Все работает, только генерируются 18 чисел и одно повторяется два раза. И еще не знаю, как этот массив разбить по разным переменным. Вот сам код
Листинг программы
  1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  2. Dim flag(19) As Boolean
  3. Dim a(20), j, x As Integer
  4. Randomize()
  5. a(0) = 1
  6. For i = 1 To 19
  7. j = Int(i * Rnd())
  8. a(i) = a(j)
  9. a(j) = i
  10. flag(i) = False
  11. Next
  12. For i = 1 To 19
  13. Do
  14. x = Int(19 * Rnd())
  15. If flag(x) = False Then
  16. a(x) = i
  17. flag(x) = True
  18. TextBox1.Text = TextBox1.Text & " " & a(x)
  19. End If
  20. Loop Until a(x) = i
  21. Next
  22. For i = 1 To 19
  23. TextBox2.Text = TextBox2.Text & " " & a(i)
  24. Next
  25. End Sub

Решение задачи: «Генератор случайных чисел выдает одни и те же значения»

textual
Листинг программы
  1.     Dim i, j, arr(18) As Integer
  2.     Randomize
  3.     For i = 0 To 18
  4.         j = Int(Rnd * i)
  5.         arr(i) = arr(j)
  6.         arr(j) = i+1
  7.     Next i

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

12   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы