Описание двумерных массивов.

Двумерный массив представляет собой матрицу. Индекс двумерного массива состоит из номера строки и номера столбца, на пересечении которых находится элемент. К элементу двумерного массива обращаются, указывая через запятую номер строки и номер столбца, например, a[3,3], a[1,2].

Объявление двумерного массива аналогично объявлению одномерных массивов:

Const n=4; m=3;

Type mas= array[1..m,1..n] of integer;

Var a,b:mas;

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

Присвоить элементам двумерного массива значения можно, также как для одномерного:

1) вводя значения с клавиатуры;

2) случайными числами;

3) вычисляя значение по формуле.

Примеры заполнения двумерного массив, содержащего 8 строк и 12 столбцов случайными числами:

1) построчно (индекс строк меняется медленнее, чем индекс столбца)

for i:=1 to 8 do

for j:=1 to 12 do

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

2) по столбцам (индекс столбца меняется медленнее, чем индекс строки)

for j:=1 to 12 do

for i:=1 to 8 do

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

Примеры.

1. Найти минимальный по модулю элемент каждой строки матрицы.

Program example1;

Const m=5; n=8;

Var a:array[1..m, 1..n] of real;

i,j:integer;

jmin:integer;{номер строки с минимальным элементом}

begin

for i:=1 to m do

for j:=1 to n do

Read(a[i,j])

for i:=1 to m do begin

jmin:=1;

for j:=2 to n do

if abs([a[i,j]) < abs(a[i, jmin]) then jmin:=j;

writeln(’минимальный по модулю элемент в строке ‘,i, ‘ в столбце ‘, j, ‘равен ’ a[i, jmin]:5:1)

end

end.

2. В двумерном массиве а(5,5) найти среднее арифметическое значение чётных элементов массива.

Program example2;

Const m=5; n=5;

Var a:array[1..m, 1..n] of integer;

S, k, i, j: integer;

Sr:real;{среднее значение чётных элементов }

begin

for i:=1 to m do

for j:=1 to n do

Read(a[i,j])

S:=0;

K:=0;

for i:=1 to m do begin

for j:=2 to n do

if a[i, j] mod 2=0 then

begin

s:=s+a[i, j];{сумма чётных элементов}

k:=k+1; {количество чётных элементов}

end;

if k=0 then writeln(‘чётных элементов в массиве нет’)

else begin

sr:=s/k;

writeln(‘sr=’,sr:5:2)

end;

end.

Упражнения.

1. В матрице А(8,8) найти сумму элементов главной диагонали.

2. В матрице A(10,12) поменять местами строки с минимальным и максимальным элементами.

3. В матрице Х(8,5) найти среднее арифметическое значение максимальных элементов в каждой строке.

4. В матрице В(10,8) найти минимальный и максимальный элементы в каждой строке и их порядковые номера.

5. В матрице В(9,7) найти минимальный и максимальный элементы в каждом столбце и их порядковые номера.

6. В матрице С(10,12) найти отрицательные элементы и их порядковые номера. Сформировать из этих элементов массив.

7. Найти минимальное и максимальное значение элементов главной диагонали матрицы В(8,8),их порядковые номера. Значения элементов определить по формуле: Описание двумерных массивов. - student2.ru

где: Описание двумерных массивов. - student2.ru - порядковый номер элемента в столбце и в строке. При делении на 0 элемент массива принять равным 10.

8. В матрице С(8,11) найти отрицательные элементы в каждой строке и их сумму.

9. В матрице В(6,6) найти чётные значения элементов, их порядковые номера, количество и сумму.

10. Транспонировать матрицу Х(6,6).

11. Найти сумму элементов до максимального и минимального значения в матрице А(6,9).

12. В массиве В(3,3) поменять местами столбец, содержащий максимальный элемент, со столбцом, содержащим минимальный элемент.

13. Найти сумму элементов той строки массива А(3,3), в которой расположен максимальный элемент строки.

14. Найти наибольшую сумму из сумм каждой строки массива М(4,4).

15. Сформировать массив из минимальных элементов столбцов матрицы А(4,4).

16. Дан массив А(10) и массив В(3,3). В массиве В заменить нулями те элементы, которые имеют нечетную сумму индексов и превосходят среднее арифметическое значение элементов массива А.

17. Написать программу, которая удаляет из массива В(10,12) элементы, меньше заданной величины и освободившиеся места заполняет нулями.

Строки.

Наши рекомендации