![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Поясним суть двумерных массивов на простом примере. Пусть на целом ряде метеостанций, расположенных в разных точках земного шара, в течение многих дней измеряли температуру воздуха. Показания термометров свели в таблицу. Ограничимся для экономии места тремя станциями и четырьмя днями.
1-й день | 2-й день | 3-й день | 4-й день | |
Метеостанция 1 | -8 | -14 | -19 | -18 |
Метеостанция 2 | ||||
Метеостанция 3 |
Требуется (в порядке возрастания трудности):
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: Вычислить разницу между максимальной и минимальной температурой во всей таблице.
Дата публикования: 2014-12-28; Прочитано: 955 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!