Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КОНСПЕКТ ЛЕКЦИЙ(рус).doc
Скачиваний:
80
Добавлен:
09.02.2016
Размер:
2.29 Mб
Скачать

16.3. Двумерный массив

Cостоит из строк и столбцов (см. глава 10, двумерные массивы). Математическая запись массива:

А= ( а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);

Общая блок – схема обработки двумерного массива по строкам.

Общие структуры обработки двумерного массива

Обработка по строкам

Обработка по столбцам

подготовка подготовка

внешнего цикла внешнего цикла

for i:= 1 to n for j:= 1 to m

подготовка подготовка

внутреннего цикла внутреннего цикла

for j:= 1 to m for i:= 1 to n

операторы операторы

тела цикла тела цикла

next j next i

next i next j

Пример 16.3. Составить алгоритм и программу определения минимального элемента каждой строки двумерного массива А=aij i=1,2,3; j=1,2,3,4.

Алгоритм

min=a(i,1)

да

min=a(i,j)

нет

Программа

Private Sub CommandButton1_Click()

Dim a(1 To 3, 1 To 4), min As Single, i, j As Integer

For i = 1 To 3 ' Организация цикла для ввода массива по строкам

For j = 1 To 4

a(i, j) = Val(InputBox(" Введите a(" & i & " , " & j & ")" & "элемент массива "))

Next j ' Конец области действия внутреннего цикла

Next i ' Конец области действия внешнего цикла

For i = 1 To 3 ' Организация цикла для обработки массива по строкам

min = a(i, 1) ' Присвоение первого элемента каждой строки переменной min

For j = 1 To 4

If min > a(i, j) Then min = a(i, j) ' Определение минимального элемента

Next j ' Конец области действия внутреннего цикла

Debug.Print " Строка "; i; "min= "; min

Next i ' Конец области действия внешнего цикла

End Sub