Читайте также: |
|
Одномерный массив (вектор) имеет вид таблицы из одной строки, ячейки которой заполнены значениями. Рассматривая ДВУМЕРНЫЙ массив, можно провести аналогию с таблицей, имеющей несколько строк и столбцов. Если отдельный элемент одномерного массива обозначали именем массива с индексом (А[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-12-18; просмотров: 105 | Поможем написать вашу работу | Нарушение авторских прав |