Двумерный массив Учитель информатики МБОУ «Марковская СОШ» Репникова С.А.
В практической деятельности человека часто используются таблицы и списки. Например: Список учеников в журнале; Список среднесуточной температуры месяца; Таблица умножения. 1.Иванов 2.Петров 3.Сидоров 4.Кошкин 5.Мышкин 1.Иванов 2.Петров 3.Сидоров 4.Кошкин 5.Мышкин Элементы списков и номера строк и столбцов всегда нумеруются
В языках программирования подобные типы данных описываются с помощью массивов. это набор однотипных данных, к которым можно обратиться с помощью единственного имени Каждое значение в массиве называется элементом. Номер элемента в списке называется индексом. Элементы представляют собой символьные или числовые значения, которые можно использовать в выражениях ЯП ПАСКАЛЬ
В качестве иллюстрации можете представить себе шкаф, имеющий множество нумерованных ящиков. Шкаф – это массив. Ящики – это индексы. Содержимое ящиков – элементы массива. Доступ к содержимому конкретного ящика (элемента массива) осуществляется после указания шкафа –имени массива – и номера ящика – индекса массива Шкаф
Обычную книгу можно считать своего рода массивом. Почему? Ответ: книга состоит из множества однотипных элементов – страниц, у каждой страницы есть номер (индекс), все страницы объединены под одним названием (название книги)
Футбольную команду можно считать «массивом». Почему? Ответ: команда состоит из нескольких людей, у каждого из них есть номер (индекс).
Дом также можно считать массивом. Почему? Ответ: дому соответствует один почтовый адрес (город, улица, номер). Элементами дома можно считать квартиры, у каждой из которых есть номер (индекс).
Шахматную доску можно считать массивом. Почему? Доска состоит из клеток, каждая клетка обозначается буквой и цифрой (двойной индекс).
Зрительный зал кинотеатра – двумерный массив. Название кинотеатра – имя массива. Ряд, место - индексы. Человек на определенном месте – элемент массива.
Массив представляет собой совокупность данных одного типа с общим для всех элементов именем. Имя массива состоит из букв(буквы) латинского алфавита. Итак:
Характеристики массива: Тип –общий тип всех элементов массива; Размерность (ранг) – количество индексов массива; Диапазон изменения индекса (индексов), определяет количество элементов в массиве
Массив, который состоит из нескольких строк и нескольких столбцов называется двумерным массивом. Его элементы нумеруются двумя индексами – номером строки и номером столбца соответственно. (Аналогом явл. ваше место в кинотеатре, где номер строки массива – это ряд, а номер столбца массива – это ваше место в ряду)
Двумерные массивы располагаются в памяти ПК по строкам: сначала все элементы первой строки, затем элементы второй строки и т.д.
Двумерный массив называют также матрицей. Если количество строк и количество столбцов в массиве одинаково, то такой массив называется квадратной матрицей.
Наиболее часто индексы массива – это переменные типа integer. При обращении к элементу массива указывается имя массива, а в квадратных скобках через запятую индексы (номер строки, номер столбца) этого элементы массива. Например А[3,2] мы обратились к элементу массива А, который располагается в третьей строке во втором столбце.
Самый простой способ описания массива в программе – это объявить переменную в разделе описания переменных var с использованием зарезервированного слова array( т.е. массив): var имя массива: array[нижняя граница индекс 1.. Верхняя граница индекс1, нижняя граница индекс2..верхняя граница индекс 2] of тип элементов;
Например: Пусть в памяти ПК расположена таблица чисел: Тогда описание этого массива: Var b:array[1..3,1..4] of integer; {12 элементов массива – целые числа}
Внимание: Реальное количество элементов в массиве может быть меньше, чем указано при описании, но ни в коем случае не должно быть больше.
Заполнение массива данными Для заполнения двумерного массива данными используются вложенные циклы с параметом: For… Внешний цикл организуется по номеру строки, а внутренний цикл – по номеру столбца. Значения элементов массива можно задавать вводом данных с клавиатуры.
Пример заполнения двумерного массива состоящего из 3 строк и 2 столбцов данными с клавиатуры: for i:=1 to 3 do { внешний цикл по номеру строки } for j:=1 to 2 do { внутренний цикл по номеру столбца } Begin writeln(Введите В[,i,,j,]элемент массива); readln(B[i,j]); End;
Вывод элементов двумерного массива по строкам и столбцам: For i:=1 to 3 do begin For j:=1 to 2 do Write(B[I,j]:5);{ для того, чтобы числа выводились равными столбцами } Writeln; End;
Действия над элементами двумерного массива: Пусть имеется массив А, в котором n строк и m столбцов. 1) Вычисление суммы элементов каждой строки. Результатом является массив с именем D, состоящий из n сумм элементов строк.
For i:=1 to n do Begin S:=0; For j:=1 to m do s:=s+a[i,j]; D[i]:=s; End;
2) Поиск минимального элемента всей матрицы. Переменная min используется для хранения значений минимального элемента, k – номер строки, l –номер столбца, где он находится
Min:=A[1,1]; { поиск начинаем с 1 элемента} K:=1; L:=1; For i:=1 to n do For j:=1 to m do If A[i,j]< min then Begin min:=A[i,j]; k:=i; L:=j; End;