Ввод-вывод матриц

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

For i:=1 To 5 Do

begin

For j:=1 To 5 Do

begin

Y [i,j]:= Sin(X[i,j]);

end

end;

После того, как внешний цикл сделает первый шаг, управляющая переменная i примет значение i=1 и зафиксируется. Управление будет передано внутреннему циклу, где переменная j пробежит все положенные ей значения от 1 до 5. Когда внутренний цикл завершится, управление перейдёт к внешнему, где параметр i изменится на шаг, станет равным i = 2 и зафиксируется, после чего внутренний цикл начнётся сначала, j изменится от 1 до 5 и т.д. Таким образом взаимодействие двух циклов For i... и For j... позволяет автоматически формировать все сочетания индексов матриц X(5,5) и Y(5,5), обеспечивая тем самым доступ ко всем элементам - для чтения матрицы X и для записи матрицы Y.

При вводе данных из текста программы применяются те же два способа:

- присваиванием

....................................

BEGIN

A[1,1]:=4.67; A[1,2]:=6.0;....

...............................

- через раздел описания констант

....................................

CONST

A: Array [1..2,1..2] Of Real =

((2.3, 4.9), (4.1, 6.1));

....................................

Значения элементов по каждому отдельному измерению (строки или столбцы) отделяются друг от друга дополнительными скобками. В приведённом примере значения элементов располагаются в следующем порядке: ((A[1,1], A[1,2]), (A[2,1], A[2,2])), т.е. по строкам.

Массивы также могут считываться с внешних устройств файловой структуры, о чём будет рассказано ниже.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: