Результат выполнения программы:
Пример 4. Ввести массив А (n). Разделить его на два массива. Первый из элементов А (n) с четными индексами, второй – с нечетными. Вывести на печать исходный и вновь образованный массивы.
Sub primer_4()
Randomize Timer
Dim i As Integer, n As Integer, k_chetn As Integer
Dim k_nechet As Integer
Dim str1 As String, str2 As String, str3 As String
Dim a() As Single, b() As Single, c() As Single
n = InputBox ("Введите размер массива", "Запрос 1 из 1")
ReDim a(n): ReDim b(CInt (n / 2)): ReDim c(CInt (n / 2))
str1 = "": str2 = "": str3 = ""
'заполнение исходного массива случайными числами
For i = 1 To n
a(i) = Int (Rnd () * 100)
str1 = str1 & a(i) & Chr (9)
Next i
'обнуление счетчиков
k_chet = 0: k_nechet = 0
'разделение исходного массива
For i = 1 To n
'определение четности индекса
If i / 2 = i \ 2 Then
'запись элементов с четными индексами в массив b
k_chet = k_chet + 1
b(k_chet) = a(i)
str2 = str2 & b(k_chet) & Chr (9)
Else
'запись элементов с нечетными индексами в массив с
k_nechet = k_nechet + 1
c(k_nechet) = a(i)
str3 = str3 & c(k_nechet) & Chr (9)
End If
Nex t i
'Команда MsgBox... записывается в редакторе VB в одну строку
MsgBox "Исходный массив:" & Chr (13) & str1 & Chr (13) & Chr (13) & "Массив с четными индексами:" & Chr (13) & str2 & Chr (13) & Chr (13) & "Массив с нечетными индексами:" & Chr (13) & str3