Repository navigation
Expand file tree
/
Copy pathMatrixTurn_2.py
More file actions
39 lines (39 loc) · 1.85 KB
/
Copy pathMatrixTurn_2.py
File metadata and controls
39 lines (39 loc) · 1.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
def MatrixTurn( Matrix, M, N, T):
arr_mtrx = []
count = -1
for i in range(len(Matrix)):
arr_mtrx.append([])
count += 1
for j in Matrix[i]:
arr_mtrx[count].append(int(j))
if T == 0:
return arr_mtrx
legh_line = len(arr_mtrx[0])
num_line = len(arr_mtrx)
for j in range(T):
gen_leght = len(arr_mtrx) * len(arr_mtrx[0]) # общая длинна массива
read_field = -1
while gen_leght > 0:
read_field += 1
tmp_stor = arr_mtrx[read_field + 1][read_field]
for i in range(read_field, legh_line - read_field): # переставляем верхнюю строку
tmp_stor1 = arr_mtrx[read_field][i]
arr_mtrx[read_field][i] = tmp_stor
tmp_stor = tmp_stor1
gen_leght -= 1
for i in range(1 + read_field, num_line - read_field): # переставляем правый столбец
tmp_stor1 = arr_mtrx[i][legh_line - (read_field + 1)]
arr_mtrx[i][legh_line - (read_field + 1)] = tmp_stor
tmp_stor = tmp_stor1
gen_leght -= 1
for i in range(legh_line - (read_field + 2), read_field - 1, -1): # переставляем нижнюю строку
tmp_stor1 = arr_mtrx[num_line - (read_field + 1)][i]
arr_mtrx[num_line - (read_field + 1)][i] = tmp_stor
tmp_stor = tmp_stor1
gen_leght -= 1
for i in range(num_line - (read_field + 2), read_field, -1): # переставляем левый столбец
tmp_stor1 = arr_mtrx[i][read_field]
arr_mtrx[i][read_field] = tmp_stor
tmp_stor = tmp_stor1
gen_leght -= 1
return arr_mtrx