Вычислить сумму отрицательных нечетных элементов массива - VB
Формулировка задачи:
Помогите решить контрольную, я в этом ничего не понимаю, буду очень благодарна за помощь
Задав одномерный массив из n вещественных или целых элементов реализовать обработку массива, как указано в варианте. Длина массива N задается пользователем. Исходные данные задать самостоятельно,
учитывая формат элементов массива A. Исходные данные должны вводиться с проверкой на область допустимых значений. Тип результата определяется из контекста.
Вариант 21
1) вычислить сумму отрицательных нечетных элементов массива;
2) произведение элементов массива, расположенных до максимального
элемента.
Сжать массив, удалив отрицательные элементы.
Решение задачи: «Вычислить сумму отрицательных нечетных элементов массива»
textual
Листинг программы
Option Explicit
Private Sub Command1_Click()
Dim A() As Integer
Dim B() As Integer
Dim i, pos, Sum, Max, k As Integer, j As Integer, n As Integer
Dim prois As Double
Randomize 'Иницилизация генератора случайных чисел
Me.Cls 'Очищаем форму
n = InputBox("Введите размер массива", , 20)
ReDim A(1 To n) ' размер массива
Print "Исходный массив ";
For i = 1 To n
A(i) = Int(Rnd * 21 - 8) 'Заполняем случайными числами
Print A(i) & ", "; 'Выводим на печать
Next i
' находим сумму
For i = 1 To n
If A(i) < 0 And A(i) / 2 <> (i) \ 2 Then Sum = Sum + A(i)
Next i
Print
Print "Сумма = "; Sum
'находим максимальный
Max = A(1)
For i = 2 To n
If A(i) > Max Then pos = i: Max = A(i)
Next i
Print "Максимальный "; pos
'произведения до Max
prois = 1
For i = 1 To pos
prois = prois * A(i)
Next i
Print "Произведение = "; prois
' сзатый массив
ReDim B(1 To n)
j = 1
For i = 1 To n
If A(i) > -1 Then B(j) = A(i): j = j + 1
Next i
'печать сжатого
Print "Сжатый массив ";
For k = 1 To j - 1
Print B(k);
Next k
End Sub