Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TurboPascal[1].doc
Скачиваний:
8
Добавлен:
02.05.2019
Размер:
1.38 Mб
Скачать

Работа с элементами

В математике часто используют многомерные массивы (двумерные, трехмерные и т.д.). Мы рассмотрим двумерные массивы, иначе называемые матрицами.

Например : 5 4 3 6

2 8 1 7

4 3 9 5

Данная матрица имеет размер 3 на 4, т.е. она состоит из трех строк и четырех столбцов. Если всю матрицу обозначить одним именем, например А, то каждый элемент матрицы будет иметь два индекса - А[i,j]

Здесь первый индекс i обозначает номер строки (i=1,2,3), второй индекс j - номер столбца (j=1,2,3,4).

Такую матрицу можно описать следующим образом :

1 способ :С использованием типа

Type T=array [1..3,1..4] of integer;

Var A: T;

2 способ :

Var A: array [1..3,1..4] of integer;

При решении задач с использованием двумерных массивов во всех случаях (кроме некоторых частных) организуются вложенный циклы.

Перемещение по строке :

for i:=1 to m do {внешний цикл, изменяется номер строки}

.......

for j:=1 to n do {внутренний цикл, изменяется номер столбца}

..........

Перемещение по столбцу :

for j:=1 to n do {внешний цикл, изменяется номер столбца}

.......

for i:=1 to m do {внутренний цикл, изменяется номер строки}

Перечислим базовые алгоритмы и рассмотрим каждый из них.

1. Заполнение двумерного массива :

а) по строке; б) по столбцу

2. Печать в виде таблицы.

3. Вычисление суммы элементов каждой строки и каждого столбца.

4. Поиск максимального (минимального) элементов каждой строки (столбца) и их индексов.

5. Сумма элементов массива.

6. Максимальный (минимальный) элемент массива.

Ввод (заполнение) элементов двумерного массива (матрицы)

For i:=1 to n do

For j:=1 to m do

Readln(A[i,j]);

1. Заполнение двумерного массива по строке.

Массив содержит 3 строки и 4 столбца, т.е. 3х4=12 элементов

а11

а12

а13

а14

а21

.

.

.

.

.

.

.

F or i:=1 to 3 do

For j:=1 to 4 do

a[i,j]:=random(100);

2. Заполнение двумерного массива по столбцу :

а11

а12

.

.

а21

.

.

.

а31

.

.

.

F or j:=1 to 4 do

For i:=1 to 3 do

a[i,j]:=random(100);

3. Печать содержимого на экран :

For i:=1 to n do

begin

For j:=1 to m do

Write (A[i,j]); {Вывод элементов одной

строки матрицы}

Writeln; { переход на следующую строку экрана}

end;

где

А - имя массива;

i - индекс строки;

j - индекс столбца;

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

m - количество элементов в столбце.

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