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

Содержание

Слайд 2

Описание Двумерный массив-это массив массивов. Матрица - это прямоугольная таблица размером

Описание

Двумерный массив-это массив массивов.
Матрица - это прямоугольная таблица размером N*M, в

которой каждый элемент характеризуется номером строки- i и номером столбца- j.

a[0,0] a[0,1] a[0,2] a[0,3] a[0,4]
a[1,0] a[1,1] a[1,2] a[1,3] a[1,4]
a[2,0] a[2,1] a[2,2] a[2,3] a[2,4]
a[3,0] a[3,1] a[3,2] a[3,3] a[3,4]
a[4,0] a[4,1] a[4,2] a[4,3] a[4,4]

При
N=5 и M=5

Номер строки

Номер столбца

Слайд 3

Квадратная матрица- это матрица, в которой количество строк совпадает с количеством

Квадратная матрица- это матрица, в которой количество строк совпадает с количеством

столбцов. (N=M)

Главная диагональ
i=j

Побочная диагональ
j=n-i-1

a[0,0] a[0,1] a[0,2] a[0,3] a[0,4]
a[1,0] a[1,1] a[1,2] a[1,3] a[1,4]
a[2,0] a[2,1] a[2,2] a[2,3] a[2,4]
a[3,0] a[3,1] a[3,2] a[3,3] a[3,4]
a[4,0] a[4,1] a[4,2] a[4,3] a[4,4]

A =

Слайд 4

n=int(input()) #кол-во строк m=int(input()) #кол-во столбцов a = [ [0 for

n=int(input()) #кол-во строк
m=int(input()) #кол-во столбцов
a = [ [0 for j in

range(m)] for i in range(n)]
Слайд 5

Ввод массива Ввод массива вручную … for i in range(n): #цикл

Ввод массива

Ввод массива вручную

for i in range(n): #цикл для перебора

всех строк
for j in range(m): # перебор элементов строки по столбцам
a[i][j]=int(input())
print()

Слайд 6

b) Ввод массива c помощью генератора случайных чисел … for i

b) Ввод массива c помощью генератора случайных чисел

for i in range(n):

#цикл для перебора всех строк
for j in range(m): # перебор элементов строки по столбцам
a[i][j]=random.randint(1, 27)
print()

Слайд 7

Модуль Random random.random() — возвращает псевдослучайное число от 0.0 до 1.0

Модуль Random

random.random() — возвращает псевдослучайное число от 0.0 до 1.0
random.uniform(<Начало>, <Конец>) — возвращает псевдослучайное

вещественное число в диапазоне от <Начало> до <Конец>
random.randint(<Начало>, <Конец>) — возвращает псевдослучайное целое число в диапазоне от <Начало> до <Конец>
random.randrange(<Начало>, <Конец>,<Шаг>) - возвращает случайно выбранное число из последовательности.
Слайд 8

Вывод массива … for i in range(n): for j in range(m):

Вывод массива


for i in range(n):
for j in range(m):
print(a[i][j], end

= ' ') # end - символ, которым заканчивается вывод (по умолчанию - символ новой строки)
print()

Слайд 9

Сумма элементов for i in range(n): for j in range(m): s+=a[i][j]

Сумма элементов

for i in range(n):
for j in range(m):
s+=a[i][j]

Нахождение минимума

min:=a[0][0]
for

i in range(n):
for j in range(m):
if a[i][j] min=a[i][j]
imin=i
jmin=j

Сумма элементов, нахождение минимума(максимума)

Слайд 10

Задача Заполнить матрицу порядка n по следующему образцу: 1 2 3

Задача

Заполнить матрицу порядка n по следующему образцу:
1 2 3 ...

n-2 n-1 n
2 1 2 ... n-3 n-2 n-1
3 2 1 ... n-4 n-3 n-2
....................
n-1 n-2 n-3 ... 2 1 2
n n-1 n-2 ... 3 2 1
Слайд 11

n=int(input()) a = [ [0 for j in range(n)] for i

n=int(input())
a = [ [0 for j in range(n)] for i in

range(n)]
print()
for i in range(n):
for j in range(i,n):
a[i][j]=j-i+1
a[j][i]=a[i][j]
print()
print()
for i in range(n):
for j in range(n):
print(a[i][j], end = ' ')
print()
Слайд 12

for j in range (m): temp=a[k1][j] a[k1][j]=a[k2][j] a[k2][j]=temp Действия со строками

for j in range (m):
temp=a[k1][j]
a[k1][j]=a[k2][j]
a[k2][j]=temp

Действия со строками (столбцами)

а) Поменять местами

2 строки k1,k2
Слайд 13

for i in range (n): temp=a[i][k1] a[i][k1]=a[i][k2] a[i][k2]=temp b) Поменять местами 2 столбца k1,k2

for i in range (n):
temp=a[i][k1]
a[i][k1]=a[i][k2]
a[i][k2]=temp

b) Поменять местами 2 столбца k1,k2

Слайд 14

for i in range (k,n-1): for j in range (m): a[i][j]=a[i+1][j]

for i in range (k,n-1):
for j in range (m):
a[i][j]=a[i+1][j]

print()
*размер исходного массива уменьшается

c) Удаление k-ой строки

Слайд 15

for i in range (n): for j in range (k,m-1): a[i][j]=a[i][j+1]

for i in range (n):
for j in range (k,m-1):
a[i][j]=a[i][j+1]

print()
*размер исходного массива уменьшается

d) Удаление k-го столбца

Слайд 16

for i in range (n,k-1,-1): for j in range(m): a[i][j]=a[i-1][j] for

for i in range (n,k-1,-1):
for j in range(m):
a[i][j]=a[i-1][j]
for j

in range (m):
a[k-1][j]=b[j]
* Размер массива заранее увеличивается, в результирующем массиве n+1 строка

e) Вставка строки перед к-ой строкой