Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

Одномерный массив (вектор) имеет вид таблицы из одной строки, ячейки которой заполнены значениями. Рассматривая ДВУМЕРНЫЙ массив, можно провести аналогию с таблицей, имеющей несколько строк и столбцов. Если отдельный элемент одномерного массива обозначали именем массива с индексом (А[i]), то для обозначения элемента двумерного массива (матрицы) потребуются два индекса: один - для указания номера строки, другой - для указания номера столбца, на пересечении которых находится нужный элемент: А[i,j]. Двумерные массивы описываются сходно с массивами одномерными:

Const Str=4; Stolb=5;
 
Var A:Array[1..Str,1..Stolb] of Real;

Заполнение двумерных массивов данными и вывод данных из двумерного массива осуществляется с использованием двух циклов, один из которых вложен в другой. Внутренний цикл перебирает индексы столбцов, наружный - индексы строк:

FOR i:=1 TO Str DO
FOR j:=1 TO Stlb DO Readln(A[i,j]);
...............
FOR i:=1 TO Str DO
FOR j:=1 TO Stlb DO Writeln('A[',i,',',j,']=',A[i]:6:2);

здесь Str - число строк, Stlb - число столбцов.

 

Пример:

В программе необходимо описать двухмерный массив целых чисел:

4 0 7

2 1 5

Описание этого массива в соответствии с первым способом выглядит следующим образом:

Type mas = Array[1..2,1..3] Of Byte;

Var M: mas;

Для второго способа имеем:

Var M: Array[1..2,1..3] Of Byte;

Для обращения в программе к элементу во второй строке и третьем столбце используется запись M[2,3].

В качестве индексов массива могут использоваться выражения, частным случаем которых является константа или переменная, например:

Min:= A[2*i]+1.3; {присвоить переменной Min значение элемента A c номером i*2, увеличенное на 1.3}

Sum:= Sum - C[k]; {уменьшить значение в переменной Sum на значение из элемента C c номером k}

Rez:= B[4] + 5.2; {присвоить переменной Rez значение элемента B c номером 4, увеличенное на 5.2}

 

Пример описания трехмерного массива:

Var A: Array[char,boolean,1..10 ] of Real;

В этом случае при использовании в программе элемента A [i,j,k] индексы i,j,k должны быть следующих типов: i - символьного, j - логического, k - интервального.

Для ввода и вывода числовых значений элементов массива используются циклы.

Например,

цикл For k:= 1 To 13 Do Read(C[k]); организует ввод 13 значений элементов массива С,

а цикл For k:= 1 To 13 Do Write(C[k],' '); – вывод этих элементов.

Начальные значения элементов массива могут быть введены сразу с описанием массива как типизированная константа в разделе Const. При этом могут применяться также две формы описания:

Type имя типа = Array[тип индекса] Of базовый тип элементов;

Const имя константы: имя типа = (список констант);

или

Const имя константы: Array[тип индекса] Of базовый тип элементов = (список констант);

При описании типизированной константы типа "многомерный массив" константы каждой строки заключаются в отдельные скобки. Например, описание двухмерного массива со следующими начальными значениями:

2 3 15 4

7 18 23 5

1 9 11 10

32 16 6 4

будет выглядеть следующим образом:

Const M: Array[1..4,1..4] Of Byte = ((2, 3, 15, 4), (7, 18, 23, 5), (1, 9, 11, 10), (32, 16, 6, 4));

 

В языке Паскаль допускается использование массива в целом только в операторе присваивания вида:

M1:= M2;

где M1, M2 - два однотипных массива одинаковой размерности.

<== предыдущая лекция | следующая лекция ==>
Использование значений массивов, ввод и вывод значений массивов | Примеры использования массивов
Поделиться с друзьями:


Дата добавления: 2014-01-03; Просмотров: 423; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.