Нужно вывести 100 рандомных чисел в текстовый файл, после чего отсортировать по возрастанию - VB
Формулировка задачи:
Дан одномерный массив. Нужно вывести 100 рандомных чисел в текстовый файл, после чего отсортировать по возрастанию. Вот кусок кода который смог сделать я помогите с сортировкой...
Листинг программы
- Option Explicit
- Dim fn As String
- Dim ln As String, s(100) As Integer, i As Integer
- Private Sub Command1_Click()
- 'fn = Text1.Text
- 'ln = Text2.Text
- Open "data.txt" For Output As #1
- Print #1,
- For i = 0 To 30
- 'здесь начинаеться код генерации случайных чисел
- s(i) = Rnd() * 140 + 10
- 'печать чисел в файл
- Print #1, s(i)
- Next
- MsgBox "Генерация завершена!"
- Close #1
- End Sub
Решение задачи: «Нужно вывести 100 рандомных чисел в текстовый файл, после чего отсортировать по возрастанию»
textual
Листинг программы
- 'Процедура для упорядочивания массива пирамидальной сортировкой
- 'Входные параметры:
- ' Arr - сортируемый массив.
- ' Нумерация элементов от 0 до N-1
- ' N - размер массива
- '
- 'Выходные параметры:
- ' Arr - массив, упорядоченный по возрастанию.
- ' Нумерация элементов от 0 до N-1
- ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- Public Sub HeapSort(ByRef Arr() As Double, ByVal N As Long)
- Dim I As Long
- Dim J As Long
- Dim K As Long
- Dim T As Long
- Dim Tmp As Double
- If N=1# then
- Exit Sub
- End If
- i = 2#
- Do
- t = i
- Do While t<>1#
- k = t\2#
- If Arr(k-1#)>=Arr(t-1#) then
- t = 1#
- Else
- Tmp = Arr(k-1#)
- Arr(k-1#) = Arr(t-1#)
- Arr(t-1#) = Tmp
- t = k
- End If
- Loop
- i = i+1#
- Loop Until Not i<=n
- i = n-1#
- Do
- Tmp = Arr(i)
- Arr(i) = Arr(0#)
- Arr(0#) = Tmp
- t = 1#
- Do While t<>0#
- k = 2#*t
- If k>i then
- t = 0#
- Else
- If k<i then
- If Arr(k)>Arr(k-1#) then
- k = k+1#
- End If
- End If
- If Arr(t-1#)>=Arr(k-1#) then
- t = 0#
- Else
- Tmp = Arr(k-1#)
- Arr(k-1#) = Arr(t-1#)
- Arr(t-1#) = Tmp
- t = k
- End If
- End If
- Loop
- i = i-1#
- Loop Until Not i>=1#
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д