Обучающие курсы:

Обучение профессии "Разработчик C#" + стажировка в Mail.ru
Обучение профессии "Разработчик Python" + трудоустройство
Обучение профессии "Веб-разработчик" + стажировка в Mail.ru


Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





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

На предыдущих уроках мы с вами рассмотрели одномерные массивы. Это означает, что массивы имеют одно измерение — количество элементов. Визуально такие массивы можно представить как строку элементов. Однако наш мир не ограничивается одним измерением. На этом уроке мы рассмотрим массивы, которые можно визуально представить как таблицу.

Двумерный массив — это таблица из однотипных элементов, организованная по строкам и столбцам. Местоположение каждого элемента двумерного массива (матрицы) определяется индексом (номером) строки и индексом (номером) столбца (рис. 8.8).

 

Рис. 8.8. Изображение двумерного массива в виде таблицы

 

В следующем примере мы создадим матрицу 5x4, задав значения ее элементов с помощью датчика случайных чисел, и выведем ее на экран по строкам. При этом будем использовать вложенные циклы, внешний цикл будет проходить по строкам, а внутренний — по столбцам.

Блок-схема алгоритма представлена нарис. 8.9.

Пример 8.11.
Создание матрицы 5x4, вывод ее на экран по строкам

program Massiv_2;
const
N = 5; { Число строк }
М = 4; { Число столбцов }
var
table : array [1..N, 1..M] of integer; { Заказываем область памяти для хранения двумерного массива из N строк и М столбцов }
{ Вообще говоря, нигде не определено, что первый индекс - это номер строки, а второй - это номер столбца. Так как выводом на экран занимается программист, он сам решает, как ему удобнее. Нам удобнее считать, что номер строки - первый индекс,- а номер столбца - второй }
i, j : integer; { Переменные для хранения индексов строки и столбца }
begin
{ Заполнение массива датчиком случайных чисел;}
randomize;
for i:=1 to N do
for j:=l to M do
Table [i,j] :=Random(100); { Запись случайного числа в массив на место с номером строки i и номером столбца j }
{ Вывод матрицы на экран по строкам: }
for i:=1 to N do
begin
for j:=1 to M do
write(Table[i, j]);
writeln { Переход на новую строку после вывода всех элементов строки i }
end;
readln
end.

 

Рис. 8.9. Блок-схема алгоритма вывода двумерного массива 5 х 4 на экран по строкам

 

Задание 8.9.
Написать программу, в которой:
определить матрицу 3x5;
вывести ее на экран;
определить величину максимального элемента данной матрицы и вывести на экран его значение и его позицию в матрице.

 

Выводы

1. Для хранения однотипных данных используется структурированный тип данных — массивы (одномерные и многомерные).
2. Для описания массива необходимо указать его имя, тип данных (array), диапазон изменения индексов его элементов (в квадратных скобках) и тип элементов, из которых он состоит:
mas: array [1..20] of integer;
3. Обращение к каждому элементу массива идет по имени массива и по индексу (номеру) элемента в массиве.
4. При выполнении любых действий с массивами необходимо использовать циклы, в которых перебираются номера элементов массива.
5. При выполнении операций поиска в массиве нужно перебирать по очереди его элементы и проверять для каждого искомое условие.
6. Примером многомерного массива является двумерный массив (матрица). Обращение к элементам матрицы идет по ее имени, индексу строки и индексу столбца.

 

Контрольные вопросы

1. Какое условие должно выполняться, чтобы некоторое количество отдельных данных можно было объединить в один массив?
2. Что в записи А[4] = -12 является именем массива, что — индексом, а что — значением элемента?
3. Чем одномерный массив отличается от двумерного?
4. Какие необходимы действия, чтобы вывести на экран все отрицательные элементы массива?
5. Почему при поиске какого-либо элемента в массиве нельзя обойтись без цикла?




 

Комментарии:


Добавить свой комментарий:


Введите значение:
 









   
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru