Сортировка массива чисел по возрастанию - VB (59711)
Формулировка задачи:
Дан. Следующий код. Но его надо изменить так, чтобы он сравнивал не просто все подряд числа, а отсортировывал только то, что осталось от массива чисел. Пример на скрине.
Решение задачи: «Сортировка массива чисел по возрастанию»
textual
Листинг программы
Option Explicit ' ' © Антихакер32™ ' '1. Дан ряд символов. Создать одномерный массив, элементами которого есть слова данной строки. '2. Отсортировать массив по возрастанию. '3. Организовать поиск в отсортированном массиве. Dim j$() Private Sub Form_Activate() Dim s$, f&, u& 'Для примера берём какой-либо текст s = "Дан ряд символов. Создать одномерный массив, элементами которого есть слова данной строки." j = Split(LCase(s)): u = UBound(j) 'Разбиваем на слова qSort 0, u: Cls 'Быстро сотрируем и выводим отсортированный список For f = 0 To u: Print f & " " & j(f): Next Print Print "Ищем слово одномерный" f = Find("одномерный") Print "Находим " & f & " позицию в списке = [" & j(f) & "]" End Sub Public Function Find&(Elm$) Dim max&, f& max = UBound(j) For f = 0 To Log(max - 1) / Log(2) + 1 Find = (Find + max) \ 2 If Elm > j(Find) Then Find = Find + 1 ElseIf Elm < j(Find) Then max = Find - 1 Else: Exit Function End If Next Find = -1 End Function Private Sub qSort(ByVal low As Long, ByVal high As Long) Dim I As Long, L As Long, M As String, wsp As String I = low: L = high: M = j((I + L) \ 2) Do Until I > L: Do While j(I) < M: I = I + 1: Loop: Do While j(L) > M: L = L - 1: Loop If (I <= L) Then wsp = j(I): j(I) = j(L): j(L) = wsp: I = I + 1: L = L - 1 Loop If low < L Then qSort low, L If I < high Then qSort I, high End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д