Двумерные массивы на языке Паскаль

Содержание

Слайд 2

Матрицы

Задача: запомнить положение фигур на шахматной доске.

1

2

3

4

5

6

c6

A[6,3]

Матрицы Задача: запомнить положение фигур на шахматной доске. 1 2 3 4 5 6 c6 A[6,3]

Слайд 3

Матрицы

Матрица – это прямоугольная таблица чисел (или других элементов одного типа).
Матрица –

Матрицы Матрица – это прямоугольная таблица чисел (или других элементов одного типа).
это массив, в котором каждый элемент имеет два индекса (номер строки и номер столбца).

A

строка 2

столбец 3

ячейка A[3,4]

Слайд 4

Матрицы

Объявление:

const N = 3;
M = 4;
var A: array[1..N,1..M] of integer;

Ввод с

Матрицы Объявление: const N = 3; M = 4; var A: array[1..N,1..M]
клавиатуры:

for i:=1 to N do
for j:=1 to M do begin
write('A[',i,',',j,']=');
read ( A[i,j] );
end;

A[1,1]=

25

A[1,2]=

14

A[1,3]=

14

...

A[3,4]=

54

i

j

for j:=1 to M do
for i:=1 to N do begin

Слайд 5

Матрицы

Заполнение случайными числами

for i:=1 to N do
for j:=1 to M do

Матрицы Заполнение случайными числами for i:=1 to N do for j:=1 to
A[i,j] := random(25) - 10;

цикл по строкам

цикл по столбцам

Слайд 6

Матрицы

Вывод на экран

for i:=1 to N do begin
writeln;
end;

перейти на новую строку

for j:=1

Матрицы Вывод на экран for i:=1 to N do begin writeln; end;
to M do
write ( A[i,j]:5 );

вывод строки

в той же строке

Слайд 7

Обработка всех элементов матрицы

Задача: заполнить матрицу из 3 строк и 4 столбцов

Обработка всех элементов матрицы Задача: заполнить матрицу из 3 строк и 4
случайными числами и вывести ее на экран. Найти сумму элементов матрицы.

program qq;
const N = 3; M = 4;
var A: array[1..N,1..M] of integer;
i, j, S: integer;
begin
{ заполнение матрицы и вывод на экран}
S := 0;
writeln('Сумма элементов матрицы ', S);
end.

for i:=1 to N do
for j:=1 to M do
S := S + A[i,j];

Слайд 8

Операции с матрицами

Задача 1. Вывести на экран главную диагональ квадратной матрицы из

Операции с матрицами Задача 1. Вывести на экран главную диагональ квадратной матрицы
N строк и N столбцов.

A[1,N]

A[2,2]

A[3,3]

A[N,N]

for i:=1 to N do
write ( A[i,i]:5 );

Задача 2. Вывести на экран побочную диагональ.

A[N,1]

A[N-1,2]

A[2,N-1]

for i:=1 to N do
write ( A[i, ]:5 );

N+1-i

сумма номеров строки и столбца N+1

A[1,1]

Слайд 9

Операции с матрицами

Задача 3. Найти сумму элементов, стоящих на главной диагонали и

Операции с матрицами Задача 3. Найти сумму элементов, стоящих на главной диагонали
ниже ее.

строка 1: A[1,1]
строка 2: A[2,1]+A[2,2]
...
строка N: A[N,1]+A[N,2]+...+A[N,N]

S := 0;
for i:= 1 to N do

цикл по всем строкам

for j:= 1 to i do
S := S + A[i,j];

складываем нужные элементы строки i

Слайд 10

Операции с матрицами

Задача 4. Перестановка строк или столбцов. В матрице из N

Операции с матрицами Задача 4. Перестановка строк или столбцов. В матрице из
строк и M столбцов переставить 2-ую и 4-ую строки.

2

4

j

A[2,j]

A[4,j]

for j:=1 to M do begin
c := A[2,j];
A[2,j] := A[4,j];
A[4,j] := c;
end;

Задача 5. К третьему столбцу добавить шестой.

for i:=1 to N do
A[i,3] := A[i,3] + A[i,6];

Слайд 11

Задания на практику

Задача 2. Заполнить матрицу из 7 строк и 7 столбцов

Задания на практику Задача 2. Заполнить матрицу из 7 строк и 7
случайными числами в интервале [-10,10] и вывести ее на экран. Обнулить элементы, отмеченные зеленым фоном, и вывести полученную матрицу на экран.

Задача 1. Заполнить матрицу 5х5 случайными числами в интервале [-15,25] и вывести ее на экран Вывести на экран главную диагональ квадратной матрицы