Помогите пожалуйста создать программу на языке VBA в Excel Задача: Ввести массив А (N). Найти сумму элементов массива. Каждый элементов массива увеличить на сумму. Вывести полученный массив.
Sub m1() Cells.Clear Dim n As Integer, i As Integer, s As Integer n = InputBox("n = ") Cells(1, 1).Value = "n = " + Str(n) ReDim a(1 To n) For i = 1 To n a(i) = InputBox("a(" + Str(i) + ")") Next i Cells(2, 1).Value = "Исходный массив" Range(Cells(3, 1), Cells(3, n)).Value = a s = 0 For i = 1 To n s = s + a(i) Next i Cells(4, 1).Value = "s = " + Str(s) Cells(5, 1).Value = "Полученный массив" For i = 1 To n a(i) = a(i) + s Next i Range(Cells(6, 1), Cells(6, n)).Value = a End Sub
petyaGavrikov
1. В подобных учебных задачах редко используют массивы длиной 100 элементов (обычно 5-10-15-20, т.к. для проверки работы программы этого вполне достаточно). 2. Автор вопроса не указал требования к вводу/выводу. Если ему нужен массив из 100 элементов, то он может: а)ввести его через диалоговое окно; б)если лень вводить - сделать другой ввод; в) если лень вводить и не может сделать другой ввод (а большой массив всё-таки нужен) - попросить кого-нибудь помочь. Вот как-то так.
Answers & Comments
Verified answer
Sub m1()Cells.Clear
Dim n As Integer, i As Integer, s As Integer
n = InputBox("n = ")
Cells(1, 1).Value = "n = " + Str(n)
ReDim a(1 To n)
For i = 1 To n
a(i) = InputBox("a(" + Str(i) + ")")
Next i
Cells(2, 1).Value = "Исходный массив"
Range(Cells(3, 1), Cells(3, n)).Value = a
s = 0
For i = 1 To n
s = s + a(i)
Next i
Cells(4, 1).Value = "s = " + Str(s)
Cells(5, 1).Value = "Полученный массив"
For i = 1 To n
a(i) = a(i) + s
Next i
Range(Cells(6, 1), Cells(6, n)).Value = a
End Sub