Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Osnovy_informatiki_-_11_Matritsy

.pdf
Скачиваний:
12
Добавлен:
13.02.2015
Размер:
372.96 Кб
Скачать

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

Матрицы

Расположение массива в памяти

• Модель фон Неймана a

var a: array [ 1..5] of byte;

a[ 1 ] адрес совпадает с адресом a a[ 3 ] к адресу a добавить 2 байта a[ i ] к адресу a добавить (i-1) байт

В общем случае, если M – массив элементов типа T и индекс начинается с 1:

адрес

M[ i ] = адрес M + (i-1) * размер (T)

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

array [<тип индекса>{,<тип индекса>}]

of <тип элементов (компонент)>

var mas2 : array [ 1..3, 1..4] of integer;

mas

 

 

 

 

 

mas[ 2,3]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Математическая модель

строки

столбцы

В общем случае, если M – двумерный массив var M : array [ 1..n, 1..m] of T;

M[ i , j] = адрес M + ((i-1) *n + (j-1))* размер (T)

Другой способ описания

type row = array[1..4] of integer; matr = array [1..3] of row;

var M : matr; r: row;

begin

// имеет смысл работа со строкой матрицы r:=M[1];

Задачи на обработку матриц

Описание

const sz=10;

type IMatrix=array [1..sz,1..sz] of integer;

var A: IMatrix;

n,m :integer;

Заполнение

read(n,m);

ReadIMatr(A,n,m);

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

for i:=1 to n do begin

for j:=1 to m do write(A[i,j]:4);

writeln; end;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]