Результат выполнения программы:
Пример 3. Дан вещественный массив А (n). Вывести отдельно массив целых положительных чисел (если они есть в исходном массиве) и массив оставшихся.
Решение. Для фиксации текущих значений индексов в новых массивах введем счетчик k для массива B и счетчик q для массива D. При нахождении элементов массива соответствующих первому условию задачи увеличим значение k на единицу и присвоим этот индекс элементу нового массива B и т.п. Аналогичная процедура повторяется и при выполнении второго условия задачи, где формируется еще один массив D.
Sub primer_3()
Dim A(10), B(10), D(10) As Single
Dim k As Byte, q As Byte, i As Byte
'ввод массива
For i = 1 To 10
A(i) = Cells (1, i)
Next i
'обнуление счетчиков новых массивов
k = 0: q = 0
For i = 1 To 10
'определение целого положительного числа
If (A(i) - Int (A(i))) = 0 And A(i) >= 0 Then
'вычисление текущего индекса массива В и запись числа в массив В
k = k + 1
B(k) = A(i)
Else
'запись элемента А(i) в новый массив D
q = q + 1
D(q) = A(i)
End If
Next i
If k = 0 Then
Cells (3, 1) = "В массиве целых чисел нет"
Else
Cells (3, 1) = "Массив целых положительных чисел B:"
For i = 1 To k
Cells (4, i) = B(i)
Next i
End If
If q = 0 Then
Cells (5, 1) = "Массив состоит только из целых положительных чисел"
Else
Cells (5, 1) = "Массив оставшихся чисел D:"
For i = 1 To q
Cells (6, i) = D(i)
Next i
End If