Обработка относительно диагоналей. Двумерные массивы

Содержание

Слайд 2

Рассмотрим работу с «квадратными» массивами.Это такие массивы, в которых количество столбцов равно

Рассмотрим работу с «квадратными» массивами.Это такие массивы, в которых количество столбцов равно
количеству строк.

Обработка относительно диагоналей

Слайд 3

Элементы главной диагонали можно записать так:
A[i,i],
т.е. индексы строки и столбца совпадают

Элементы

Элементы главной диагонали можно записать так: A[i,i], т.е. индексы строки и столбца
побочная диагонали можно записать так:
A[i,n-i+1],
где n – размер массива.

Слайд 4

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

Задача 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]

Слайд 5

Заполнение нулями главной диагонали
for i:=1 to n do
a[i,i]:=0;

Обработка относительно

Заполнение нулями главной диагонали for i:=1 to n do a[i,i]:=0; Обработка относительно диагоналей
диагоналей

Слайд 6

Перебор элементов матрицы

Главная диагональ:

for i:= 1 to N do begin
{ работаем

Перебор элементов матрицы Главная диагональ: for i:= 1 to N do begin
с  A[i,i] }
end;

Побочная диагональ:

for i:= 1 to N do begin
{ работаем с  A[i,N+1-i] }
end;

Главная диагональ и под ней:

for i:= 1 to N do
for j:= 1 to i do begin
{ работаем с  A[i,j] }
end;

Слайд 7

Обработка относительно диагоналей

НИЖЕ и НА главной диагонали: FOR i:=1 TO n DO FOR j:=1

Обработка относительно диагоналей НИЖЕ и НА главной диагонали: FOR i:=1 TO n
TO i DO
ВЫШЕ и НА главной диагонали:
FOR i:=1 TO n DO FOR j:= i TO n DO

Слайд 8

ВЫШЕ и НА побочной диагонали:
FOR i:=1 TO n DO FOR j:=

ВЫШЕ и НА побочной диагонали: FOR i:=1 TO n DO FOR j:=
1 TO n - i + 1 DO
НИЖЕ и НА побочной диагонали: FOR i:=1 TO n DO FOR j:= n - i + 1 TO n DO

Обработка относительно диагоналей

Слайд 9

for i:=1 to n do
for j:=1 to n-i do
a[i,j]:=0;

Заполнение нулями

for i:=1 to n do for j:=1 to n-i do a[i,j]:=0; Заполнение
элементов выше побочной диагонали

Обработка относительно диагоналей

Слайд 10

Заполнение нулями элементов по периметру массива
for i:=1 to n do
begin

Заполнение нулями элементов по периметру массива for i:=1 to n do begin
a[i,1]:=0;
a[i,n]:=0;
a[1,i]:=0;
a[n,i]:=0;
end;

Обработка относительно диагоналей

Слайд 11

Задачи

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

Задачи 1. Создать квадратную матрицу случайных чисел. Найти сумму элементов ее главной
побочной диагонали.
2.Заполнить элементы квадратного массива так, как предложено на рисунке:

а) 100000000
110000000
111000000
111100000
111110000
111111000
111111100
111111110
111111111

б) 111111111
011111111
001111111
000111111
000011111
000001111
000000111
000000011
000000001

в) 000000001
000000011
000000111
000001111
000011111
000111111
001111111
011111111
111111111

Слайд 12

г) 111111111
111111110
111111100
111111000
111110000
111100000
111000000
110000000
000000000

д) 100000000
110000000

г) 111111111 111111110 111111100 111111000 111110000 111100000 111000000 110000000 000000000 д) 100000000
111000000
111100000
111110000
111100000
111000000
110000000
000000000

е) 000000001
000000011
000000111
000001111
000011111
000001111
000000111
000000011
000000000

Задачи

Слайд 13

ж) 111111111
011111110
001111100
000111000
000010000
000000000
000000000
000000000
000000000

з) 000000000
000000000

ж) 111111111 011111110 001111100 000111000 000010000 000000000 000000000 000000000 000000000 з) 000000000
000000000
000000000
000010000
000111000
001111100
011111110
111111111

Задачи

Слайд 14

Программирование на языке Python

Программирование на языке Python

Слайд 15

Перебор элементов матрицы

Главная диагональ:

for i in range(N):
# работаем с  A[i][i]

Побочная

Перебор элементов матрицы Главная диагональ: for i in range(N): # работаем с
диагональ:

for i in range(N):
# работаем с  A[i][N-1-i]

Главная диагональ и под ней:

for i in range(N):
for j in range( i+1 ):
# работаем с  A[i][j]

Слайд 16

Перестановка строк и столбцов

2-я и 4-я строки:

A[2], A[4] = A[4], A[2]

2-й и

Перестановка строк и столбцов 2-я и 4-я строки: A[2], A[4] = A[4],
4-й столбцы:

for i in range(N):
A[i][2], A[i][4] = A[i][4], A[i][2]

Имя файла: Обработка-относительно-диагоналей.-Двумерные-массивы.pptx
Количество просмотров: 18
Количество скачиваний: 0