VBA+Замена массива

программирование VBA visual basic

Вот задача и мои наработки:

Ввести массив A(N). Найти максимальный элемент массива. Нечетные элементы массива заменить на максимальные.

Sub work()
Dim a(5)
Max = a(1)
For i = 1 To 5
a(i) = Cells(1, i)
If a(i) > Max Then
Max = a(i)
End If
Next i
Cells(3, 4) = Max
For x = Cells(1, 1) To Cells(1, 5)
' a(x) = Cells(1, i)
If x Mod 2 = 0 Then
Cells(1, 1) = Max
End If
Next x
End Sub

Вторая

Sub work2()
Dim A(5)
Max = Cells(1, 1)
For i = 1 To 5 Step 1
p = p * Cells(i, 1)
If (Cells(1, i) > Max) Then Max = Cells(1, i)
Next i
A(x) = Cells(1, i)
For x = 1 To 5
If x Mod 2 = 0 Then
' Cells(x) = Max
End If
' Next x
End Sub

Ответы:
и снова не оптимально ;)
зачем запускать цикл от 1 до 5 каждый раз проверяя на четность, если можно запустить цикл от 2 до 4 с шагом 2?


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.