МБОУ "Лицей №57"

Адрес: г.Прокопьевск, ул.Институтская, 41


E-mail: lyceum57@mail.ru

Двумерные массивы (матрицы)

Двумерный массив  - это структурированный тип данных в виде прямоугольной таблицы. Положение элементов в двумерных массивах описывается двумя индексами.

Например, двумерный массив размером 3*3, то есть в нем будет три строки, а в каждой строке по три элемента: Каждый элемент имеет свой номер, как у одномерных массивов, но сейчас номер уже состоит из двух чисел – номера строки, в которой находится элемент, и номера столбца. Таким образом, номер элемента определяется пересечением строки и столбца.

A[2,1]  - это элемент, стоящий во второй строке и в первом столбце.

Описание двумерного массива (матрицы):

Var A: array[1..100,1..100] of integer;

Ввод двумерного массива

Для последовательного ввода элементов двумерного массива используется цикл for, в котором нужно последовательно изменять номер строки с 1-й до последней и в каждой строке перебирать элементы столбцов с 1-го до последнего.

 Рассмотрим пример ввода двумерного массива Паскаля с клавиатуры:

var

    a, : array [1..5, 1..10] of integer;

    i, j: integer; { индексы массива }

 begin

    for i :=1 to 5 do {цикл для перебора всех строк}

       for j :=1 to 10 do {перебор всех элементов строки по столбцам}

          readln ( a [ i , j ]); {ввод с клавиатуры элемента, стоящего в i -й строке и j -м столбце}

Двумерный массив можно заполнить случайным образом, т.е. использовать функцию random (N), а также присвоить каждому элементу матрицы значение некоторого выражения. Способ заполнения двумерного массива выбирается в зависимости от поставленной задачи, но в любом случае должен быть определен каждый элемент в каждой строке и каждом столбце.

Вывод двумерного массива Паскаля на экран

Вывод элементов двумерного массива также осуществляется последовательно, необходимо напечатать элементы каждой строки и каждого столбца. При этом нужно, чтобы элементы, стоящие в одной строке, печатались рядом, т.е. в строку, а элементы столбца располагались один под другим. Для этого необходимо выполнить следующую последовательность действий (рассмотрим фрагмент программы для массива, описанного в предыдущем примере):

for i :=1 to 5 do {цикл для перебора всех строк}

 begin

    for j :=1 to 10 do {перебор всех элементов строки по столбцам}

       write ( a [ i , j ]:4); {печать элементов, стоящих в i -й строке матрицы в одной экранной строке, при этом для вывода каждого элемента отводится 4 позиции}

    writeln ; {прежде, чем сменить номер строки в матрице, нужно перевести курсор на начало новой экранной строки}

 end ;

Обратная связь

Имя отправителя *:
E-mail отправителя *:
Тема письма:
Текст сообщения *:
Код безопасности *:

Задачи для самостоятельной работы:

  1. Сформировать двумерный массив размером 5х7 генератором случайных чисел в диапазоне [-50;75].
  2. Сформировать матрицу размером nxm, состоящую из 0 и 1, по следующему правилу: в четных строках  - нули, в нечетных – единицы.
  3. Сформировать квадратную матрицу размером nxn, состоящую из 0 и 1, по следующему правилу: выше главной диагонали  - нули, остальные  – единицы.
  4. Сформировать квадратную матрицу размером nxn, состоящую из 0 и 1, по следующему правилу: ниже побочной диагонали  - нули, остальные  – единицы.
Бесплатный хостинг uCoz