Описание двумерного массива

Операции с индексированными переменными. Массивы одномерные

Массив – это поименованный набор однотипной информации

Массив объединяет элементы одного типа данных. Всему набору данных присваивают общее имя - имя массива. Каждый элемент массива определяется с помощью индекса, определяющего место этого элемента в общем наборе.

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

Характеристики массива:

· тип – общий тип всех элементов массива;

· размерность (ранг) – количество индексов массива; одномерный двумерный…..

· диапазон изменения индексов – определяет количество элементов в массиве.

Вектор (одномерный массив) – это массив, в котором элементы нумеруются одним индексом.

 

 

Описание массивов

Для одномерного массива:

Var

a: array[1…n] of <тип>;

где a - имя массива;

n - максимальное количество элементов массива;

<тип> - тип элементов массива.

Например:

Var

mas: array [1…10] of real;

Begin

...

Описан массив mas - содержащий 10 элементов вещественного типа.

Каждый элемент массива определяется с помощью индекса, стоящего справа от имени в квадратных скобках.

a [ i ], a [i+2], a [9]

Индекс может быть - переменной, константой, арифметическим выражением целого типа.

Размер массива должен быть задан в явном виде (как в предыдущем фрагменте), или через const.

Например:

Const

n = 100;

Var

mas: array [1…100] of real;

Begin

Ввод элементов массива

for i:=1 to n do

readln( a[ i ] );

Каждое прохождение через цикл соответствует вводу одного элемента массива.

 

Вывод элементов массива

for i:=1 to n do

writeln( a[ i ] );

Каждое прохождение через цикл соответствует выводу одного элемента массива.

 

Обработка одномерных массивов

Рассмотрим типовые задачи обработки одномерных массивов.

 

Задача.

 

Дан массив a(n). Найти максимальный элемент массива и определить

его номер.

 

Таблица идентификаторов

 

Наименование переменной Обозначения в программе
Имя массива a
Размер массива n
Индекс массива i
Максимальный элемент max
Номер максимального элемента nmax

 

 

Program mas_2;

Var

a: array [1…100] of real;

i,n,nmax: integer;

max: real;

Begin

writeln ('введите размер массива n<=100');

Readln (n);

writeln ('введите элементы массива');

for i:=1 to n do

readln (a[ i ] );

{за максимальный принимается первый элемент массива}

max:=a[1]; nmax:=1;

for i:=1 to n do

If a[i]>max then

Begin

max:=a[i];

nmax:=i;

End;

writeln ('max =', max, ' N=', nmax);

Readln;

End.

max=6 2

3 6 1

 

 

Задача.

 

Задан массив целых чисел. Отсортировать элементы одномерного массива по возрастанию.

 

Существует много способов сортировки элементов массива

Таблица идентификаторов

 

Наименование переменной Обозначения в программе
Имя массива a
Размер массива n
Индекс массива i
Флажок flag
Дополнительная переменная для обмена местами соседних элементов p

 

program mas_3;

uses

crt;

var

a: array [1…100] of integer;

f, n, i,p : integer;

 

begin

clrscr;

writeln ('введите размер массива n<=100');

readln (n);

writeln ('введите элементы массива');

for i:=1 to n do

readln (a[i]);

repeat

f:=0;

for i:=1 to n-1 do

if a[ i ]>a[i+1] then

begin

p: =a[ i ];

a[ i ]:=a[i+1];

a[i+1]:=p; f:=1;

end;

until f=0;

for i:=1 to n do writeln (a[ i ]);

readln;

end.

 

В данном алгоритме используются вложенные циклы.

Внутренний цикл (for…to…do) – позволяет один раз пройтись по массиву, сравнивая соседние элементы. В случае, если предыдущий элемент ( a[ i ] ) окажется больше последующего ( a[i+1] ), элементы меняются местами через дополнительную переменную p.

Внешний цикл(repeat…until) – повторяется до тех пор, пока массив не будет упорядочен.

 

i=1,10 j=2, n-1

 

j=1 a[1]= min=1

3 6 2 8 1

1 6 2 8 3

 

j=2 a[2]=min=2

6 2 8 3

2 6 8 3

 

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

Матрицы

 

Если в массиве хранится таблица значений, то такой массив называют двумерным, а его элементы нумеруются двумя индексами – номером строки и номером столбца, на пересечении которых находится данный элемент.

В памяти компьютера все элементы массива занимают одну непрерывную область. Двумерный массив располагается в памяти по строкам.

Двумерный массив можно представить в виде матрицы.

. .

 

Описание двумерного массива

 

Для двумерных массивов:

 

Var

a :array[1..n ,1..m] of <тип>;

 

Где a - имя массива;

n, m - количество строк и столбцов в массиве;

<тип> - тип элементов массива.

Количество элементов в массиве - n m.

Например:

Var

mas: array [1…10,1..10] of real;

Begin

 

Описан массив mas - содержащий 100 элементов вещественного типа (10 строк и 10 столбцов).

Размер массива должен быть задан в явном виде (как в предыдущем фрагменте) , или через const.

 

 

Например:

Const

n = 5, m=5;

Var

mas: array[1…n,1..m] of real;

Begin

Описан массив mas - содержащий 25 элементов целого типа (5 строк и 5 столбцов).

Каждый элемент массива определяется с помощью двух индексов, стоящих справа от имени в квадратных скобках.

a[i, j] - элемент стоящий на пересечении i-ой строки и j-го столбца.

a[i, i] - элементы главной диагонали.

a[i, 2] - элементы второго столбца.

Индекс может быть - переменной, константой, арифметическим выражением целого типа.

Если количество строк равно количеству столбцов, матрица называется квадратной.

Обработка двумерных массивов производится при изменении индексов элементов.

Все элементы главной диагонали удовлетворяют условию:

i=j

(номер строки равен номеру столбца).

 

Все элементы побочной диагонали удовлетворяют условию:

i+j=n+1

(n - количество строк и столбцов).

Элементы, расположенные над главной диагональю удовлетворяют условию:

i<j

(номер строки строго меньше номера столбца).

Элементы, расположенные под главной диагональю удовлетворяют условию:

i>j

(номер строки строго больше номера столбца).

 








Дата добавления: 2017-06-02; просмотров: 695;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.026 сек.