Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VB.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
8 Мб
Скачать
☆

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

Поясним суть двумерных массивов на простом примере. Пусть на целом ряде метеостанций, расположенных в разных точках земного шара, в течение многих дней измеряли температуру воздуха. Показания термометров свели в таблицу. Ограничимся для экономии места тремя станциями и четырьмя днями.

1-й день

2-й день

3-й день

4-й день

Метеостанция 1

-8

-14

-19

-18

Метеостанция 2

25

28

26

20

Метеостанция 3

11

18

20

25

Требуется (в порядке возрастания трудности):

  1. Распечатать температуру на 2-й метеостанции за 4-й день и на 3-й метеостанции за 1-й день.

  2. Распечатать показания термометров всех метеостанций за 2-й день

  3. Определить среднюю температуру на третьей метеостанции

  4. Распечатать всю таблицу

  5. Распечатать, в какие дни и на каких метеостанциях температура была в диапазоне 24-26 градусов тепла

Для этого обозначим показания термометров индексированной переменной с двумя индексами по следующей схеме:

t(1,1)

t(1,2)

t(1,3)

t(1,4)

t(2,1)

t(2,2)

t(2,3)

t(2,4)

t(3,1)

t(3,2)

t(3,3)

t(3,4)

Обратите внимание, что первый индекс в скобках обозначает номер строки (метеостанции), второй - номер столбца (дня) прямоугольной таблицы. Такую таблицу математики называют матрицей.

В памяти отводим массив из 3*4=12 ячеек под значения типа Integer индексированной переменной t. Будем называть его двумерным массивом:

Dim t (1 To 3, 1 To 4) As Integer

Программа:

Dim t(1 To 3, 1 To 4) As Integer

Private Sub Command1_Click()

'Зададим значения элементов массива примитивным присваиванием:

t(1, 1) = -8: t(1, 2) = -14: t(1, 3) = -19: t(1, 4) = -18

t(2, 1) = 25: t(2, 2) = 28: t(2, 3) = 26: t(2, 4) = 20

t(3, 1) = 11: t(3, 2) = 18: t(3, 3) = 20: t(3, 4) = 25

'Выполняем 1 пункт задания:

Debug.Print t(2, 4), t(3, 1)

'А теперь распечатаем второй столбец массива (2 пункт задания):

For i = 1 To 3: Debug.Print t(i, 2): Next

'Определим среднее значение элементов третьей строки (3 пункт задания):

i = 3

s = 0

For j = 1 To 4: s = s + t(i, j): Next

Debug.Print s / 4

'Распечатаем всю таблицу (4 пункт задания):

For i = 1 To 3

For j = 1 To 4

Debug.Print t(i, j),

Next j

Debug.Print

Next i

'Распечатаем станции и дни с температурой 24-26 градусов (5 пункт задания):

For i = 1 To 3

For j = 1 To 4

If t(i, j) >= 24 And t(i, j) <= 26 Then Debug.Print "Станция"; i; "день"; j

Next j

Next i

End Sub

Задание 120: Вычислить разницу между максимальной и минимальной температурой во всей таблице.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]