Для сортировки обычно применяют модифицированный метод "пузырька". В нем попарно сравниваются элементы массива и по условию сортировки меняются или не меняются местами. Массив считается упорядоченным, если в процессе попарного сравнения не было ни одной перестановки элементов.
Пример 7 .2.
Составить алгоритм и программу сортировки по возрастанию одномерного массива вещественных чисел методом пузырька.
Задан массив Х=хi, i=1,2,...,6.
Введем переменную р - признак перестановок элементов в массиве.
Алгоритм сортировки одномерного массива по возрастанию
Программа сортировки одномерного массива по возрастанию
Dim x(1 To 6), a As Single
Dim i, p As Integer
For i = 1 To 6
x(i) = Val(InputBox(" Введите " & i & " элемент массива "))
Next i
1: p = 0
For i = 1 To 5
If x(i) > x(i + 1) Then a = x(i): x(i) = x(i + 1): x(i + 1) = a: p = 1
Next i
If p = 1 Then GoTo 1 ‘ Если были перестановки (р=1), то переход к метке 1
Debug.Print "Упорядоченный по возрастанию массив "
For i = 1 To 6
Debug. Print x(i)
Next i
7.3. Двумерный массив
Cостоит из строк и столбцов (см. глава 1, двумерные массивы). Математическая запись массива:
|
|
А= (аi,j), i=1,2,...,n; j= 1,2,3,…,m
где A -имя массива;
aij - имя элемента массива в общем виде (индексная переменная);
i -индекс, указывающий на порядковый номер строки в массиве;
J - индекс, указывающий на порядковый номер столбца в массиве;
В VBА имя элемента массива в общем виде запишется так - a(i,j).
Синтаксис описания статических двумерных массивов:
dim Имя (размерность массива) [ AS тип массива ]
Пример описания: dim а(i to 2, j to 2) as single
где: а – имя массива; массив двумерный; длина - 4 элемента; тип- вещественный. По такому описанию будут выделены 4 ячейки с именами a(1,1); a(1,2); a(2,1); a(2,2);
Общая блок – схема обработки двумерного массива по строкам.
Общие структуры обработки двумерного массива
Обработка по строкам | Обработка по столбцам |
Подготовка подготовка