vivat, наслаждайтесь
Код:
Function GetCountEvenItems(ByRef An() As Double) As Long
Dim evenCount As Long
Dim i As Long
evenCount = 0
For i = 0 To UBound(An)
If (An(i) / 2 - An(i) \ 2) = 0 Then
evenCount = evenCount + 1
End If
Next i
GetCountEvenItems = evenCount
End Function
Function MinimumOfSumNearlessItems(ByRef An() As Double) As Double
Dim minSumNearlessItems As Double
Dim i As Long
minSumNearlessItems = (An(0) + An(1))
For i = 1 To UBound(An)
If (An(i - 1) + An(i)) < minSumNearlessItems Then
minSumNearlessItems = (An(i - 1) + An(i))
End If
Next i
MinimumOfSumNearlessItems = minSumNearlessItems
End Function
Function Maximum(ByRef An() As Double) As Double
Dim maxItem As Double
Dim i As Long
maxItem = An(0)
For i = 0 To UBound(An)
If An(i) > maxItem Then
maxItem = An(i)
End If
Next i
Maximum = maxItem
End Function
Sub TestStart()
Dim tmp() As Double
Dim n As Long
Dim i As Long
'Общая инициализация массива An
Randomize
n = Val(Rnd() * 100 & "")
ReDim tmp(n)
For i = 0 To n
tmp(i) = Val((Rnd() * 100)) * IIf((Rnd() * 100) > 50, 1, -1)
Next i
'Массив в окно Immediate (для проверки правильности)
For i = 0 To n
Debug.Print "Элемент: A" & i & " = " & tmp(i)
Next i
'Вариант_А
'Результат в окно Immediate (вызывается по нажатию Ctrl+G)
Debug.Print "Максимальный элемент массива: " & Maximum(tmp())
'Вариант_Б
'Результат в окно Immediate (вызывается по нажатию Ctrl+G)
Debug.Print "Минимальная сумма соседних элементов массива: " & MinimumOfSumNearlessItems(tmp())
'Вариант_В
'Результат в окно Immediate (вызывается по нажатию Ctrl+G)
Debug.Print "Количество четных элементов в массиве: " & GetCountEvenItems(tmp())
End Sub
Результат одного из запусков рядышком
читать дальше »
Элемент: A0 = 9
Элемент: A1 = 30
Элемент: A2 = -14
Элемент: A3 = 27
Элемент: A4 = -78
Элемент: A5 = -23
Элемент: A6 = -97
Элемент: A7 = -39
Элемент: A8 = -37
Элемент: A9 = 29
Элемент: A10 = -34
Элемент: A11 = -90
Элемент: A12 = -25
Элемент: A13 = -2
Элемент: A14 = -94
Элемент: A15 = 92
Элемент: A16 = -52
Элемент: A17 = 25
Элемент: A18 = 39
Элемент: A19 = -15
Элемент: A20 = 47
Элемент: A21 = 67
Элемент: A22 = -77
Элемент: A23 = -37
Элемент: A24 = 11
Элемент: A25 = 27
Элемент: A26 = -14
Элемент: A27 = 94
Элемент: A28 = 63
Элемент: A29 = -90
Элемент: A30 = -98
Элемент: A31 = -28
Элемент: A32 = -95
Элемент: A33 = -71
Элемент: A34 = -73
Элемент: A35 = 42
Элемент: A36 = 17
Элемент: A37 = 69
Элемент: A38 = 30
Элемент: A39 = 44
Элемент: A40 = -11
Элемент: A41 = -15
Элемент: A42 = 55
Элемент: A43 = 0
Элемент: A44 = 79
Элемент: A45 = 25
Элемент: A46 = -76
Элемент: A47 = -87
Элемент: A48 = 91
Элемент: A49 = -46
Элемент: A50 = 21
Максимальный элемент массива: 94
Минимальная сумма соседних элементов массива: -188
Количество четных элементов в массиве: 20