вторник, 29 октября 2013 г.

Многомерные массивы

    Часто возникает необходимость организации данных в табличном варианте. Например нам нужно создать массив из шести столбцов и четырех строк.
(см. рисунок ниже):

2

    Чтобы реализовать такую фишку при помощи одномерных массивов, нужно будет объявить четыре разных массива, по шесть элементов. Например:

 var 
 a: Array [0..5] of Integer; 
 b: Array [0..5] of Integer; 
 c: Array [0..5] of Integer; 
 d: Array [0..5] of Integer; 

 а затем присвоить элементам соответствующие значения, что в общем то не совсем удобно да и легко запутаться.

begin 
a[0]:=56; 
a[2]:=1; 
b[0]:=15; 
b[1]:=8; 
c[1]:=11; 
end; 

   И вот как раз в таких ситуациях, нас могут здорово выручить, многомерные массивы. Объявляются они практически так же, как и одномерные, только в квадратных скобках, указываются размеры строк и столбцов, данных.
   Так, рассматриваемая нами таблица, может быть организована в виде двумерного массива следующим образом:

  var 
  a: Array [0..3, 0..5] of Integer; // 0..3 - объявление строк, а 0..5 - объявление столбцов;
  begin 
  a[0],[0]:=56;
  a[1],[0]:=15; 
  a[1],[1]:=8;
  a[2],[1]:=11;
  a[0],[2]:=1; 
  end; 

  Не правда ли компактней? Да и к данным удобней обращаться. Если попробовать наш двумерный массив представить графически, то получим примерно следующее (см. рисунок ниже):



  Можно например также создавать трех, четырех и более мерные массивы. Например объявление трехмерного, массива будет выглядеть следующим образом:
a: array[0..3, 0..5, 0..4] of Real; - Работа с данными такого массива аналогична работе с данными рассмотренного нами примера. Ну вот вроде бы и все, что я хотел рассказать о многомерных массивах. Хочу еще добавить, что излишества проявленные в чем бы то ни было всегда приводят к негативным последствиям, и применение техники программирования при помощи массивов исключением не является. Так многомерные массивы с очень большим количеством строк, способны поглощать большое количество оперативной памяти. Поэтому, применяя использование многомерных массивов для организации структуры представления данных в своих приложениях, не стоит забывать об этом. Ну теперь вроде все.

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

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.