Сформировать вектор из элементов, что представляют среднее арифметическое массивов А, В, С - VB
Формулировка задачи:
Помоги пожалуйста сделать задание!
Сформировать вектор Р из элементов, что представляют собой среднее арифметическое массивов А, В, С соответственно. Определить длину вектора Р.
Заранее благодарна!
Решение задачи: «Сформировать вектор из элементов, что представляют среднее арифметическое массивов А, В, С»
textual
Листинг программы
- Function avg_vect(A() As Double, B() As Double, C() As Double) As Double()
- Dim P() As Double
- '::: Îïðåäåëÿåì ГЈГ°Г*Г*ГЁГ¶Г» ГЁГ±Гµ. Г¬Г*ññèâîâ
- na% = UBound(A, 1)
- nb% = UBound(B, 1)
- nc% = UBound(C, 1)
- '::: ïðåäâГ*ðèòåëüГ*îå âûäåëåГ*ГЁГҐ ГЇГ*ìÿòè
- ReDim P(1 To na% + nb% + nc%) As Double
- '::: Г±Г·ГЁГІГ*ГҐГ¬ ñðåäГ*ГЁГҐ
- sa# = avg(A)
- sb# = avg(B)
- sc# = avg(C)
- o% = 0
- '::: ÑáðГ*ñûâГ*ГҐГ¬ ñðåäГ*ГЁГҐ ГЁГ§ A -> P
- For i% = 1 To na%
- If Abs(sa# - A(i%)) <= 0.00000000000001 Then
- o% = o% + 1
- P(o%) = A(i%)
- End If
- Next i%
- '::: ÑáðГ*ñûâГ*ГҐГ¬ ñðåäГ*ГЁГҐ ГЁГ§ B -> P
- For i% = 1 To nb%
- If Abs(sb# - B(i%)) <= 0.00000000000001 Then
- o% = o% + 1
- P(o%) = B(i%)
- End If
- Next i%
- '::: ÑáðГ*ñûâГ*ГҐГ¬ ñðåäГ*ГЁГҐ ГЁГ§ C -> P
- For i% = 1 To nc%
- If Abs(sc# - C(i%)) <= 0.00000000000001 Then
- o% = o% + 1
- P(o%) = C(i%)
- End If
- Next i%
- If o% = 0 Then
- MsgBox "ГЌГЁ îäèГ* ýëåìåГ*ГІ èñõîäГ*ûõ Г¬Г*ññèâîâ Г*ГҐ ñîâïГ*Г« Г±Г® ñðåäГ*ГЁГ¬"
- End
- Else
- '::: ÎñâîáîæäГ*ГҐГ¬ ëèøГ*ГѕГѕ ГЇГ*ìÿòü
- ReDim Preserve P(1 To o%) As Double
- End If
- avg_vect = P
- End Function
- '::: ГђГ*Г±Г·ГҐГІ ñðåäГ*ГҐГЈГ® Г§Г*Г*Г·ГҐГ*ГЁГї
- Function avg(X() As Double) As Double
- n% = UBound(X, 1)
- s# = 0
- For i% = 1 To n%
- s# = s# + X(i%)
- Next i%
- avg = s# / n%
- End Function
- Sub Test()
- Dim A(3) As Double
- Dim B(3) As Double
- Dim C(3) As Double
- Dim P() As Double
- A(1) = 1
- A(2) = 2
- A(3) = 3
- B(1) = 11
- B(2) = 22
- B(3) = 33
- C(1) = 111
- C(2) = 111
- C(3) = 111
- P = avg_vect(A, B, C)
- Debug.Print "ГђГ*çìåðГ*îñòü= "; UBound(P, 1)
- For i% = 1 To UBound(P, 1)
- Debug.Print "P("; i%; ")="; P(i%)
- Next i%
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д