Similar presentations:
Массивы
1.
МассивыМассив – это фиксированное количество
упорядоченных однотипных
элементов, обозначенных одним
именем. В Python по другому
называется «списком».
Размерность – это количество элементов
в массиве
Индекс – это порядковый номер элемента
в массиве
Доступ к отдельному элементу массива
осуществляется указанием имени массива
и его индекса, заключённого в [ ].
2.
Массив, каждый элемент которогоимеет один индекс, называется
одномерным массивом или вектором.
Массив, каждый элемент которого
имеет два индекса, называется
двумерным массивом или матрицей.
Примечание: нумерация индексов
элементов массива начинается с 0!
3.
Двумерный массив - матрица4.
Размерность матрицы определяетсяколичеством её строк и столбцов.
Доступ к отдельному элементу матрицы
осуществляется указанием имени матрицы
и двух индексов, записанных через запятую
и заключённых в квадратные скобки [ ].
Причём, первый индекс – это номер строки,
а второй индекс – это номер столбца,
на пересечении которых находится данный
элемент.
5.
A3 =x4
2
5
7
-1
8
-3
4
0
1
9
-2
6
A[0,2] = 7
A[1,0] = 8
A[1,3] = 0
A[2,2] = -2
6.
Матрицы бывают двух видов:квадратная(число строк равно числу столбцов)
прямоугольная матрица( число строк не равно
числу столбцов).
Прямоугольная матрица
Квадратная матрица
7.
У каждой квадратной матрицы есть главная ипобочная диагонали.
Признак главной диагонали: i = j.
Признак побочной диагонали: i = N – j + 1, где N –
размерность матрицы.
Побочная диагональ
Главная диагональ
3 -1
4
2
-5 6
2
0
1
8.
Признак элементов ниже главной диагонали: i > jПризнак элементов выше главной диагонали: i < j
Признак элементов ниже побочной диагонали:
i > N – j + 1, где N – размерность матрицы
Признак элементов выше побочной диагонали:
i < N – j + 1, где N – размерность матрицы
Элементы ниже главной диагонали
3 -1
4
2
-5 6
2
0
1
Элементы выше главной диагонали
3 -1
4
2
-5 6
2
0
1
9.
Создание матрицы1. Создание матрицы, задавая конкретные
значения :
Q= [[1, 3, 5], [7, 9, -3], [-7, 0, 5]]
2. Создание матрицы, без начальных значений:
A = [[0] * m for j in range(n)] for i in range(m)]
3. Создание матрицы, задавая рандомные
значения:
from random import randint
….
A = [[randint(мин.значение, макс.значение) for j in
range(n)] for i in range(m)]
10.
Заполнение матрицыЗаполнение матрицы:
for i in range(0, m):
for j in range(0, n):
print("Введите элемент матрицы: ")
A[i][j] = int(input())
11.
Вывод элементов матрицы на экран1. Вывод конкретного элемента матрицы:
A = 1 -3 5 -7
3 -8 8 0
print(«Первый элемент матрицы = ", A[0][0])
12.
Вывод элементов матрицы на экран2. Вывод всех элементов матрицы:
print("Матрица А: ")
for i in range(0, m):
for j in range(0, n):
print(A[i][j], end = "
print("\n")
")
13.
Задача 1:Организовать заполнение
матрицы А ,
размерностью 3 x 4,
случайными числами.
Вывести на экран значение максимального
элемента, а также заменить
все максимальные элементы
матрицы на противоположенные значения.
Вывести матрицу до и после изменения.
14.
max= 98A=
-2 98 9 11 -18
-11 20 19 61 98
-18 98 8 31 48
A=
-2 -98 9 11 -18
-11 20 19 61 -98
-18 -98 8 31 48
15.
from random import randintflag = True
max = 0
m, n = 0, 0
while flag:
print("Введите количество строк: ")
m = int(input())
if ((m >= 1) and (m <=10)):
flag = False
flag = True
16.
while flag:print("Введите количество столбцов: ")
n = int(input())
if ((n >= 1) and (n <=10)):
flag = False
A = [[randint(-10, 20) for j in range(n)] for i in
range(m)]
print("\nМатрица А до изменения: ")
for i in range(0, m):
for j in range(0, n):
print(A[i][j], end = "
")
print("\n")
17.
max = A[0][0]for i in range(0, m):
for j in range(0, n):
if A[i][j] > max:
max = A[i][j]
print("\nМаксимальный элемент = ",max)
for i in range(0, m):
for j in range(0, n):
if A[i][j] == max:
A[i][j] = A[i][j] * (-1)
18.
print("\nМатрица А после изменения: ")for i in range(0, m):
for j in range(0, n):
print(A[i][j], end = "
")
print("\n")
19.
Задача 2:Организовать заполнение
матрицы B ,
размерностью 5 x 5,
случайными числами.
Заменить все элементы главной диагонали
матрицы на число 0.
Вывести матрицу до и после изменения.
20.
B=B=
-2 98 9 4
-11 20 19 98
-18 98 88 18
37 98 8 -8
0 98 9 4
-11 0 19 98
-18 98 0 18
37 98 8 0
21.
from random import randintflag = True
m, n = 0, 0
while flag:
print("Введите количество строк: ")
m = int(input())
if ((m >= 1) and (m <=10)):
n=m
flag = False
22.
B = [[randint(-10, 20) for j in range(n)] for i inrange(m)]
print("\nМатрица B до изменения: ")
for i in range(0, m):
for j in range(0, n):
print(B[i][j], end = "
")
print("\n")
for i in range(0, m):
for j in range(0, n):
if i == j:
B[i][j] = 0
23.
print("\nМатрица B после изменения: ")for i in range(0, m):
for j in range(0, n):
print(B[i][j], end = "
")
print("\n")
24.
Задача 3:Организовать заполнение
матрицы C ,
размерностью 4 x 4,
случайными числами.
Заменить элементы ниже главной диагонали
на число введенное пользователем
Выведите матрицу до и после изменения.
25.
q=C=
C=
-1
-2 98 9 4
-11 20 19 98
-18 98 88 18
37 98 8 -8
-2
-1
-1
-1
98 9 4
20 19 98
-1 88 18
-1 -1 -8
26.
from random import randintflag = True
m, n, q = 0, 0, 0
while flag:
print("Введите количество строк: ")
m = int(input())
if ((m >= 1) and (m <=10)):
n=m
flag = False
27.
print("Введите число для замены: ")q = int(input())
C = [[randint(-10, 20) for j in range(n)] for i in
range(m)]
print("\nМатрица C до изменения: ")
for i in range(0, m):
for j in range(0, n):
print(C[i][j], end = "
")
print("\n")
28.
for i in range(0, m):for j in range(0, n):
if i > j:
C[i][j] = q
print("\nМатрица C после изменения: ")
for i in range(0, m):
for j in range(0, n):
print(C[i][j], end = "
")
print("\n")
29.
for i in range(0, n):for j in range(0, m):
if i > j:
C[i][j] = q
print("\nМатрица C после изменения: ")
for i in range(0, n):
for j in range(0, m):
print(C[i][j], end = "
")
print("\n")
30.
Задача 4:Организовать заполнение
матрицы А ,
размерностью 6 x 6,
случайными числами.
Заменить элементы ниже главной диагонали
на число 0, выше главной диагонали на
число 1, а элементы главной диагонали на
число 2.
Выведите матрицу до и после изменения.
31.
A=A=
-2 98 9 4
-11 20 19 98
-18 98 88 18
37 98 8 -8
2
0
0
0
1
2
0
0
1
1
2
0
1
1
1
2
32.
from random import randintm, n = 0, 0
flag = True
while flag:
print("Введите количество строчек/столбцов: ")
m = int(input())
if ((m >= 1) and (m <= 10)):
flag = False
n=m
33.
A = [[randint(-20, 20) for j in range(n)] for i inrange(m)]
print("\nМатрица А до изменения: ")
for i in range(m):
for j in range(n):
print(A[i][j], end = " ")
print("\n")
34.
for i in range(m):for j in range(n):
if i < j:
A[i][j] = 0;
if i > j:
A[i][j] = 1;
if i == j:
A[i][j] = 2
print("\n")
35.
print("\nМатрица А после изменения: ")for i in range(m):
for j in range(n):
print(A[i][j], end = " ")
print("\n")
36.
Задача 5:Организовать заполнение
матрицы А ,
размерностью 5 x 5,
случайными числами.
Заменить все элементы второй строки
матрицы А на число,
введенное с клавиатуры.
Выведите матрицу до и после изменения.
37.
q=А=
А=
-1
-2 98 9 4
-11 20 19 98
-18 98 88 18
37 98 8 -8
-2
2 98
1 1
9 1
4
-1
0 -1
2 -1
1 -1
1
1
-18
0 98
0 88
2 18
2
0 0
8 -8
37
0 98
38.
from random import randintm, n = 0, 0
flag = True
q=0
while flag:
print("Введите количество строчек/столбцов: ")
m = int(input())
if ((m >= 1) and (m <= 10)):
flag = False
n=m
39.
print("\n Введите число для замены: ")q = int(input())
A = [[randint(-50, 50) for j in range(n)]for i in
range(m)]
print("\n Матрица А до изменения: ")
for i in range(0, m):
for j in range(0, n):
print(A[i][j], end = " ")
print("\n")
40.
for i in range(0, m):for j in range(0, n):
if i == 1:
A[i][j] = q
print("\n")
print("\n Матрица А после изменения: ")
for i in range(0, m):
for j in range(0, n):
print(A[i][j], end = " ")
print("\n")
41.
Задача 6:Организовать заполнение
матрицы B ,
размерностью 4 x 5,
случайными числами.
Заменить все элементы последнего столбца
матрицы В на максимальный элемент
первого столбца матрицы.
Выведите матрицу до и после изменения.
42.
max = 37B=
B=
-2 98 9 4
-11 20 19 98
-18 98 88 18
37 98 8 -8
-2
2 98
1 1
9
-1
0 -1
2 -1
1
-18
0 98
0 88
2
0 0
8
37
0 98
37
1
37
1
37
1
37
2
43.
from random import randintm, n = 0, 0
flag = True
max = 0
while flag:
print("Введите количество строчек: ")
m = int(input())
if ((m >= 1) and (m <= 10)):
flag = False
flag = True
44.
while flag:print("Введите количество столбцов: ")
n = int(input())
if ((n >= 1) and (n <= 10)):
flag = False
B = [[randint(-50, 50) for j in range(n)]for i in
range(m)]
print("\n Матрица B до изменения: ")
for i in range(0, m):
for j in range(0, n):
print(B[i][j], end = " ")
print("\n")
45.
max = B[0][0]for i in range(0, m):
for j in range(0, n):
if (B[i][j] > max) and (j == 0):
max = B[i][j]
print("\n")
print("\n Максимальный элемент = ", max)
46.
for i in range(0, m):for j in range(0, n):
if j == n-1:
B[i][j] = max
print("\n")
print("\n Матрица B после изменения: ")
for i in range(0, m):
for j in range(0, n):
print(B[i][j], end = " ")
print("\n")
47.
Задача 7:Организовать заполнение
матрицы C ,
размерностью 6 x 6,
случайными числами.
Увеличить все элементы выбранной строки
матрицы C в два раза.
Выведите матрицу до и после изменения.
48.
m=C=
C=
2
-2 98 9 4
-11 20 19 98
-18 98 88 18
37 98 8 -8
-2
2 98
1 1
9 37
1
-22
0 40
2 38
1 196
1
1
-18
0 98
0 88
2 37
2
0 0
8 37
37
0 98
49.
from random import randintm, n = 0, 0
flag = True
q=0
while flag:
print("Введите количество строчек/столбцов: ")
m = int(input())
if ((m >= 1) and (m <= 10)):
flag = False
n=m
flag = True
50.
while flag:print("Введите номер строчки для увеличения (
матрица ",m,"x",n,"):")
q = int(input())
if ((q >= 1) and (q <= m)):
flag = False
C = [[randint(-50, 50) for j in range(n)]for i in
range(m)]
print("Матрица С до изменения: ")
for i in range(0, m):
for j in range(0, n):
print(C[i][j], end = " ")
print("\n")
51.
for i in range(0, m):for j in range(0, n):
if i == q-1:
C[i][j] = C[i][j] * 2
print("\n")
print("Матрица С после изменения: ")
for i in range(0, m):
for j in range(0, n):
print(C[i][j], end = " ")
print("\n")
52.
Задача 8:Организовать заполнение
матрицы D ,
размерностью 3 x 5,
случайными числами.
Поменять местами элементы первой и
последней строки матрицы D.
Выведите матрицу до и после изменения.
53.
D=D=
-2 98 9 4
-11 20 19 98
-18 98 88 18
37 98 8 -8
37
2 98
1 1
8 -8
1
-22
40
0 20
2 38
1 196
19
-11
1
98
1
18
-18
0 98
0 88
2 37
-18
4
0 0
9 2
-2
0 98
54.
from random import randintm, n = 0, 0
flag = True
zam = 0
while flag:
print("Введите количество строк матрицы: ")
m = int(input())
if ((m >= 1) and (m <= 10)):
flag = False
flag = True
55.
while flag:print("Введите количество столбцов матрицы:
")
n = int(input())
if ((n >= 1) and (n <= 10)):
flag = False
D = [[randint(-50, 50) for j in range(n)]for i in
range(m)]
print("Матрица D до перестановки: ")
for i in range(0, m):
for j in range(0, n):
print(D[i][j], end = " ")
print("\n")
56.
for j in range(0, n):zam = D[0][j]
D[0][j] = D[m-1][j]
D[m-1][j] = zam
print("Матрица D после перестановки: ")
for i in range(0, m):
for j in range(0, n):
print(D[i][j], end = " ")
print("\n")
57.
Задача 9:Организовать заполнение
матрицы F ,
размерностью 4 x 5,
случайными числами.
Поменять местами элементы двух
указанных строчек матрицы F.
Выведите матрицу до и после изменения.
58.
m1 = 2F=
F=
m2 = 3
-2 98 9 4
-11 20 19 98
-18 98 88 18
37 98 8 -8
-2
2 98
1 1
9 1
4
-22
40
0 98
2 38
1 196
88
-18
1
18
-11
37
1
-18
0 20
0 19
2 18
98
88
-18
98
2
0 0
8 -8
37
0 98
59.
from random import randintm, n = 0, 0
flag = True
zam = 0
l1, l2 = 0, 0
while flag:
print("Введите количество строк матрицы: ")
m = int(input())
if ((m >= 1) and (m <= 10)): #4
flag = False
flag = True
60.
while flag:print("Введите количество столбцов матрицы:
")
n = int(input())
if ((n >= 1) and (n <= 10)):
flag = False
F = [[randint(-50, 50) for j in range(n)]for i in
range(m)]
flag = True
61.
while flag:print("Введите номер первой строки для
перестановки( матрица ",m,"x",n,"): ")
l1 = int(input())
if ((l1 >= 1) and (l1 <= m)):
flag = False
flag = True
while flag:
print("Введите номер второй строки для
перестановки( матрица ",m,"x",n,"): ")
l2 = int(input())
if ((l2 >= 1) and (l2 <= m)):
flag = False
62.
print("Матрица F до перестановки: ")for i in range(0, m):
for j in range(0, n):
print(F[i][j], end = " ")
print("\n")
for j in range(0, n):
zam = F[l1-1][j]
F[l1-1][j] = F[l2-1][j]
F[l2-1][j] = zam
print("Матрица F после перестановки: ")
for i in range(0, m):
for j in range(0, n):
print(F[i][j], end = " ")
print("\n")
63.
Задача 10:Дана матрица X, размерностью 5x4.
Заполнить матрицу случайными числами.
Сформировать вектор Y, каждый элемент которого - это
количество четных элементов строки матрицы.
Вывести матрицу и вектор на экран
64.
65.
from random import randintm, n, kol = 5, 4, 0
Y = [0] * 5
X = [[randint(-50, 50) for j in range(n)] for i in
range(m)]
print("Матрица X ")
for i in range(0, m):
for j in range(0, n):
print(X[i][j], end = "
print("\n")
")
66.
for i in range(0, m):kol = 0
for j in range(0, n):
if (X[i][j] % 2 == 0):
kol = kol + 1
Y[i] = kol
print("Вектор Y: ")
for i in range(0, 5):
print(Y[i], end = "
")