End Sub
Типовые задачи на обработку одномерных массивов
Формирование и вывод массива, вычисление суммы, произведения, количества элементов, среднего арифметического элементов массива, нахождение максимального и минимального элемента массива.
Пример. Задать размер n линейного массива A, заполнить его случайными целыми числами в диапазоне от –10 до 10. Массив вывести в текстовое окно и определить:
- сумму всех элементов массива;
- количество положительных элементов массива;
- наименьший элемент массива;
- среднее арифметическое элементов массива кратных пяти.
Поскольку размер массива n и сам массив A будут использоваться в разных событийных процедурах (в процедуре заполнения массива случайными числами и процедуре обработки массива), то они должны быть описаны в разделе объявления доступном для всех процедур приложения (в разделе General).
Для поиска минимального элемента в массиве вначале устанавливается текущий минимум по нулевому элементу массива min:=A[0]. Затем начинается просмотр элементов массива: выбирается очередной элемент A[i] и сравнивается с min. Если элемент M[i] меньше текущего min, то выполняется переприсваивание min:=A[i].
Option Explicit'Установка режима, при котором запрещается использовать
'необъявленные переменные
Dim a() As Integer 'Описание динамического массива целых чисел
Dim n As Integer
'Процедура заполнения массива случайными числами и вывод массива в текстовое окно
Private Sub Command1_Click()
Dim i As Integer
Randomize
n = Val(Text1.Text) 'Количество элементов массива
ReDim a(n) 'Задание размера динамического массива А
Text2.Text = "" 'Очистка окна Text2
'Заполнение массива случайными значениями целых чисел
For i = 0 To n - 1
'Присвоение элементу массива случайного числа из отрезка [-10,10]
a(i) = Int(21 * Rnd - 10)
'Вывод элементов массива в текстовое поле Text2
Text2.Text = Text2.Text + " " + Str(a(i))
Next i
'Процедура обработки массива
Private Sub Command2_Click()
Dim i As Integer, Sum As Integer, Min As Integer
Dim Sum1 As Integer, Kol As Integer, Count_P As Integer
Min = a(0) 'Установка начального значения минимума
'Очистка текстовых окон
Text3.Text = "": Text4.Text = "": Text5.Text = ""
Text6.Text = ""
Sum=0: Sum1=0: Kol=0: Count_P=0 'Инициализация переменных
For i = 0 To n - 1
Sum = Sum + a(i) 'Суммирование элементов массива
'Подсчет количества положительных элементов
If a(i) > 0 Then Count_P = Count_P + 1
If a(i) < Min Then Min = a(i) 'Поиск минимального элемента
If (a(i) Mod 5 = 0) And (a(i) <> 0) Then
Sum1 = Sum1 + a(i) 'Суммирование элементов кратных пяти
Kol = Kol + 1 'Подсчет количества элементов кратных пяти