Найти среднее геометрическое массива. Максимальный элемент массива увеличить на среднее геометрическое - VB
Формулировка задачи:
Добрый день! Дана задача
Ввести массив A(N). Найти среднее геометрическое значение массива. Максимальный элемент массива увеличить на среднее геометрическое. Вывести преобразованный массив.
Не могу вывести преобразованный массив. Полный ступор, помогите))
Листинг программы
- Dim a(5) ' числовой массив А
- Private Sub Command1_Click() ' кнопка Пуск
- Print "Массив А" ' Печать на Форме1 - Массив А
- For i = 1 To 5 ' заголовой цикла, i принимает значения от 1 до 5
- a(i) = Int(Rnd * 100 + 1) ' формирование массива случайных чисел в интервале [1,100] по формуле Int(RND*(B-A+1)+A)
- Print a(i); ' вывод массива в строку на форму
- Next
- 'найти среднее геометрическое
- p = 1
- For i = 1 To 5
- p = p * a(i)
- Next i
- p = p ^ (1 / 5)
- Print ' перевод строки
- Print "ср.геометрическое: " & p 'вывод среднего геометрического на форму
- 'Найти максимальный элемент массива
- Max = a(1)
- For i = 2 To 5 Step 1
- If Max < a(i) Then Max = a(i)
- Next i
- Print ' перевод строки
- Print "максимальное число " & Max 'вывод максимального числа на форму
- 'максимальный элемент увеличить на среднее геометрическое и вывод преобразованного массива
- End Sub
Решение задачи: «Найти среднее геометрическое массива. Максимальный элемент массива увеличить на среднее геометрическое»
textual
Листинг программы
- Sub Task(A() as double)
- max#=A(1)
- imax%=1
- p#=1
- for i%=1 to Ubound(A,1)
- if A(i%) > max# then
- imax%=i%
- max#=A(i%)
- end if
- p#=p#*A(i%)
- Next i%
- p#=p#^(1.0/Ubound(A,1))
- Debug.Print "Среднее геометрическое=";p#
- A(imax%)=A(imax%)+p#
- for i%=1 to Ubound(A,1)
- Debug.Print A(i%);" ";
- next i%
- Debug.Print
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д