Сумма определенных чисел в массиве - VB

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. У меня есть столбец из 30 чисел. Нужно данные из таблицы перевести в массив и проделать следующие действия: 1)получить новый массив из 15 значений, сложив каждую пару чисел и каждую такую пару разделить на 2(т.е., допустим, есть массив "1 2 3 4", проделываем действия: (1+2)/2=1.5 и (3+4)/2=3.5 и получаем новый массив "1.5 3.5" ) 2)сделать то же, что и описано выше, но уже с каждой тройкой чисел, т.е. получить массив уже из 10 значений. Я попробовал кое-что написать, но он мне выдает ошибку в строке 9:
Листинг программы
  1. Sub m_1()
  2. Dim Массив_1 As Variant
  3. Массив_1 = Range("A1:A30").Value
  4. Dim Массив_2(1 To 15) As Variant
  5. Dim i As Integer
  6. Dim vСумма As Double
  7. For i = 1 To UBound(Массив_1) Step 2
  8. j = j + 1
  9. Массив_2(j) = Массив_1(i)
  10. vСумма = vСумма+ Массив_1(i)
  11. Next i
  12. End Sub
Также я пока не знаю, как мне разделить на 2 каждую сумму, а также как сложить тройку чисел. Помогите пожалуйста разобраться.

Решение задачи: «Сумма определенных чисел в массиве»

textual
Листинг программы
  1. Sub m_1()
  2. Dim Массив_1() As Variant
  3. n = 30
  4. ReDim Массив_1(n)
  5. For i = 1 To n
  6.     Массив_1(i) = Cells(i, 1)
  7.     Cells(i, 3) = ""
  8. Next i
  9. Call m_2(30, 2, Массив_1())
  10.  
  11.  
  12. End Sub
  13. Sub m_2(n%, k%, m1() As Variant)
  14. Dim Массив_2() As Variant
  15. Dim i As Integer, j%, r%
  16. Dim vСумма As Double
  17.  r = 0
  18. For i = 1 To n - k + 1 Step k
  19.  vСумма = 0
  20.     For j = i To i + k - 1
  21.       vСумма = vСумма + m1(j)
  22.     Next j
  23.    
  24.     ReDim Preserve Массив_2(r)
  25.     Массив_2(r) = vСумма / k
  26.      Cells(i + k - 1, 3) = Массив_2(r)
  27. Next i
  28. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.692 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы