Ребята, как ввести кол-во эллементов одномерного массива с клавиатуры? - VB
Формулировка задачи:
и как его ещё отсортировать по возрастанию??
Решение задачи: «Ребята, как ввести кол-во эллементов одномерного массива с клавиатуры?»
textual
Листинг программы
Option Explicit
Private Sub Command1_Click()
Dim N As Long, I As Long, A() As Single
Randomize
N = Val(InputBox("Введите кол-во элементов", , "10")) - 1
If N < 0 Then Exit Sub
ReDim A(N)
Print "Исходный массив:"
For I = 0 To UBound(A)
A(I) = Fix(Rnd * 100)
Print A(I);
Next
qSortSng A, 0, UBound(A)
Print
Print "Отсортированный массив:"
For I = 0 To UBound(A)
Print A(I);
Next
End Sub
Private Sub qSortSng(Ar() As Single, ByVal low As Long, ByVal high As Long)
Dim I As Long, j As Long, m As Single, wsp As Single
I = low: j = high: m = Ar(CInt((I + j) / 2))
Do Until I > j: Do While Ar(I) < m: I = I + 1: Loop: Do While Ar(j) > m: j = j - 1: Loop
If (I <= j) Then wsp = Ar(I): Ar(I) = Ar(j): Ar(j) = wsp: I = I + 1: j = j - 1
Loop
If low < j Then qSortSng Ar, low, j
If I < high Then qSortSng Ar, I, high
End Sub