Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

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



Читайте также:
  1. RAID-массивы и матрицы
  2. Semi-static ropes - Полу-статические веревки
  3. V2: Статические моменты. Центр тяжести плоской фигуры
  4. Антигеморрагические и гемостатические средства
  5. В русской механике отсутствуют статические состояния и понятие покой всегда относительно.
  6. ДВУМЕРНЫЕ МАССИВЫ
  7. ДВУМЕРНЫЕ МАССИВЫ

 

Если четыре причины возможных неприятностей

заранее устранены, то всегда найдется пятая.

Из законов Мэрфи.

 

Каждый элемент массива, в свою очередь, может являться массивом. Это позволяет создавать двумерные таблицы (матрицы), трехмерные (представьте себе прямоугольный параллелепипед), а также массивы с большим числом измерений. Зачем может понадобиться четырехмерный массив, который и представить-то сложно? Вот пример: в комнате в точках с координатами x,y,z меряется температура t. Тогда данные о температуре легче всего представить в виде четырехмерного массива [x,y,z,t].

Чаще всего встречаются двумерные массивы. Для их описания в операторе TYPE указывают не одну, а две размерности:

 

TYPE TA=ARRAY[1..10, 1..5] OF REAL;

 

В таком массиве всего 10´5=50 элементов, а для обращения к любому из них нужно указывать два индекса: a[i, j].

К сожалению, во многих книгах по программированию усиленно муссируется вопрос про "строки" и "столбцы" двумерного массива. На самом деле никаких строк и столбцов в памяти компьютера не возникает, массив любой размерности хранится линейно. Соответственно и вопрос "а что указывать первым – число строк или столбцов?" – лишен смысла. Вы можете для удобства считать, что первым индексом является номер строки, а вторым – номер столбца, или наоборот – это ни на что не повлияет.

Для обработки двумерных массивов нужны вложенные циклы. Один цикл находится внутри другого и при каждой итерации внешнего цикла внутренний цикл пробегает все заданные значения. Рассмотрим пример заполнения двумерного массива случайными числами и нахождения среднего арифметического его элементов:

 

CONST MaxX=10, MaxY=20;

TYPE TA=ARRAY[1..MaxX, 1..MaxY] OF REAL;

VAR a:TA; i, j: BYTE; s:REAL;

 

BEGIN

s:=0;

FOR i:=1 TO MaxX DO

FOR j:=1 TO MaxY DO

BEGIN

a[i,j]:=random;

s:=s+a[i,j]

END;

s:=s/(MaxX*MaxY);

Label1.Caption:=

'Максимальный элемент равен '+FloatToStrF(max,ffFixed,10,4);

 

 


Дата добавления: 2015-07-11; просмотров: 82 | Нарушение авторских прав






mybiblioteka.su - 2015-2024 год. (0.005 сек.)