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 'Подсчет количества элементов кратных пяти