Сортировка массива методом Хоара - VB

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

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

Не работает сортировка массива методом Хоара. Выводится исходный массив (проверял на пустой форме) вот сама процедура
Листинг программы
  1. Public Sub sort_h(ByVal i_n As Integer, ByVal i_k As Integer)
  2. Dim i As Long, j As Long
  3. i = i_n: j = i_k: k = ((i + j) \ 2): f = w(k)
  4. Do
  5. While w(i) < f: i = i + 1: Wend: While f < w(j): j = j - 1: Wend
  6. If i <= j Then
  7. p = w(i): w(i) = w(j): w(j) = p:
  8. i = i + 1: j = j - 1
  9. End If
  10. Loop Until i > j
  11. If i_n < j Then sort_h i_n, j
  12. If i < i_k Then sort_h i, i_k
  13. End Sub
и ее вызов (после Option2.value)
Листинг программы
  1. Private Sub Command3_Click()
  2. If X(1) <> "" Then
  3. Picture1.Cls
  4. Picture3.Cls
  5. If Option1.Value Then
  6. For i = 1 To 10
  7. For j = 10 To i + 1 Step -1
  8. If w(i) < w(j) Then
  9. k = w(i)
  10. w(i) = w(j)
  11. w(j) = k
  12. End If
  13. Next j
  14. Next i
  15. End If
  16. If Option2.Value Then
  17. sort_h i_n, i_k
  18. End If
  19. For i = 1 To 10
  20. Picture1.Print w(i)
  21. Next i
  22. For o = 1 To 10
  23. Picture3.Line (0, 0 + 15 * o)-(w(o), 10 + 15 * o), RGB(w(o) + 255, w(o), w(o)), B
  24. Next
  25. For i = 1 To 10
  26. ren = ren + CStr(w(i)) + " "
  27. Next i
  28. Else
  29. pushbutton = MsgBox("Âûáåðèòå Г¬Г*Г±Г±ГЁГў!", 16, "ГЋГёГЁГЎГЄГ*!!!...")
  30. End If
  31. End Sub
В чем может быть дело, ошибок компиляции нет.

Решение задачи: «Сортировка массива методом Хоара»

textual
Листинг программы
  1. sort_h w, 0, Ubound(w)

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


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

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

15   голосов , оценка 3.933 из 5

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

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

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