Выбрать все числа, которые меньше или равны среднему арифметическому всех чисел ряда - VB
Формулировка задачи:
В последовательности чисел выбрать все числа, которые меньше или равны среднему арифметическому всех чисел ряда. Программа чем будет проще, тем лучше. Помогите, пожалуйста!!!!!!!!!!
Решение задачи: «Выбрать все числа, которые меньше или равны среднему арифметическому всех чисел ряда»
textual
Листинг программы
Sub Task()
'Объявление переменных
Dim a, i As Integer, iSum As Integer, snSrA As Single, sMsg As String
'Вводим данные и преобразуем их в массив, записывая в переменную
a = Split(InputBox("Введите последовательность чисел через запятую:"), ",")
'Находим верхний индекс полученного массива
iCol = UBound(a)
'В цикле перебираем все элементы массива, считаем их сумму
For i = 0 To iCol
iSum = iSum + Val(a(i))
Next
'Находим среднее арифметическое ( кол-во элементов массива = верхний индекс + 1)
snSrA = iSum / (iCol + 1)
'В цикле сравниваем каждый элемент со средним арифм., если подходит по условию, то
'записываем его в текстовую переменную
For i = 0 To iCol
If Val(a(i)) <= snSrA Then sMsg = sMsg & a(i) & "; "
Next
'Вывод результата
MsgBox "Среднее арифметическое : " & snSrA & vbNewLine & sMsg
End Sub