Лекция Python тіліндегі екі өлшемді тізім (матрица)



жүктеу 67,5 Kb.
бет2/3
Дата05.04.2023
өлшемі67,5 Kb.
#42022
түріЛекция
1   2   3
11 лекция

Нәтиже:
5
4
7
8
9
3
6
2
1
5
7
3
5 4 7 8
9 3 6 2
1 5 7 3
3. A[3,4] екі өлшемді тізімді [1,10] аралығындағы кездейсоқ санмен толтыру және экранға шығару
import random
n=3
m=4
A=[]
for i in range(n):
B=[]
for j in range(m):
B.append(random.randint(1,10))
A.append(B)
for i in range(n):
for j in range(m):
print(A[i][j], end = ' ')
print()
Нәтиже:
1 3 7 2
10 4 2 1
5 6 8 8


Мысал34: Өлшемі N x M 1-ден 10- ға дейінгі кездейсоқ бүтін сандармен толтырылған матрица құрыңдар.
n=int(input("n="))
m=int(input("m="))
import random
for i in range(1,n+1):
print() # жаңа жолға түсіреді
for j in range(1,m+1):
print(random.randint(1,10),end=' ') #бір жолға шығарады
Нәтиже:
n=3
m=4

6 4 5 8
8 1 9 4


6 10 3 10
Екі өлшемді тізімді түрлендіру
Екі өлшемді тізімді түрлендіру бағдарламаларын құруды қарастырайық.
Мысал35. Кездейсоқ сандармен толтырылған матрицаның барлық элементтерінің қосындысын табыңдар.
import random
n=3; m=4;A=[]
for i in range(n): # матрицаны толтыру
B=[]
for j in range(m):
B.append(random.randint(1,4))
A.append(B)
for i in range(n): # матрицаны шығару
for j in range(m):
print(A[i][j], end = ' ')
print()
S=0 # қосынды табу
for i in range(n):
for j in range(m):
S += A[i][j]
print("S=",S) # нәтижені шығару
Нәтиже:
4 1 4 1
1 1 1 3
1 4 3 1
S= 25
Мысал36. Матрицаның барлық элементтерінің көбейтіндісін табыңдар.
p = 1
for i in range(N):
for j in range(M):
p *= matrix[i][j]
print (p)
Мысал37. Кездейсоқ сандармен толтырылған матрицаның әр жолындағы элементтерінің қосындысын табыңдар.
Егер жоғарыдағы бағдарламаның келесі бөлігін:
S=0
for i in range(n):
for j in range(m):
S += A[i][j]
print("S=",S)
төмендегіше жазсақ (қалғанын еш өзгеріссіз қалдырып)
for i in range(n):
S=0
for j in range(m):
S += A[i][j]
print("S=",S,end=‘’)
онда, келесі нәтиже шығады:
4 2 3 2
3 2 3 2
1 3 1 1
S= 11 S= 10 S= 6
Мысал38. n өлшемді квадрат матрицаның негізгі диагоналын 1, негізгі диагонал үстін 0, негізгі диагонал астын 2 сандарымен толтырып, пайда болған матрицаны шығарыңдар.
Төмендегі бағдарламада алдымен матрицаны кездейсоқ санмен толтыру орындалады. Сонан соң, жоғарыдағы әрекет орындалады.
import random #матрицаны кездейсоқ сандармен толтыру
n=4; A=[]
for i in range(n):
B=[]
for j in range(n):
B.append(random.randint(1,10))
A.append(B)
for i in range(n): #матрицаны шығару
for j in range(n):
print(A[i][j], end = ' ')
print()
for i in range(n): #матрицаны түрлендіру
for j in range(n):
if i < j:
A[i][j] = 0
elif i > j:
A[i][j] = 2
else:
A[i][j] = 1
print() #матрицаны қайта шығару
for i in range(n):
for j in range(n):
print(A[i][j], end = ' ')
print()
Нәтиже:
бастапқы матрица:
5 10 1 4
9 9 8 9
6 1 3 8
2 7 1 9
түрлендірілген матрица:
1 0 0 0
2 1 0 0
2 2 1 0
2 2 2 1

Квадрат матрицада негізгі және қосалқы диагонал үшін бір ғана цикл қолдануға болады:


for i in range(n):
A[i][i] # негізгі диагонал
A[i][n-1-i] # қосалқы диагонал


Мысал39. n өлшемді квадрат матрицаның негізгі және қосалқы диагоналындағы элементтердің қосындысын табыңдар.
import random
n=4
A=[]
for i in range(n):
B=[]
for j in range(n):
B.append(random.randint(1,10))
A.append(B)
for i in range(n):
for j in range(n):
print(A[i][j], end = ' ')
print()
S1=0;S2=0
for i in range(n):
S1+=A[i][i] # негізгі диагонал
S2+=A[i][n-1-i] # қосалқы диагонал
print('S1=',S1,'S2=',S2)
Нәтиже:
7 10 2 1
1 6 1 3
6 6 6 3
10 6 1 10
S1= 29 S2= 18

Матрицаның k-ші және n- бағандарын алмастыру төмендегіше жүзеге асады:


for i in range(n):
c = A[i][k]
A[i][k] = A[i][n]
A[i][n] = c


Мысал40. Матрицаның 2-ші және 4- бағандарын алмастырып, пайда болған матрицаны экранға шығарыңдар.
import random
n=4
m=4
A=[]
for i in range(n):
B=[]
for j in range(m):
B.append(random.randint(1,4))
A.append(B)
for i in range(n):
for j in range(m):
print(A[i][j], end = ' ')
print()
for i in range(n): #алмастыру
c = A[i][1]
A[i][1] = A[i][3]
A[i][3] = c
print()
for i in range(n): #матрицаны шығару
for j in range(m):
print(A[i][j], end = ' ')
print()
Нәтиже:
бастапқы матрица алмасқан матрица
7 9 8 1 7 1 8 9
3 8 4 10 3 10 4 8
8 5 7 10 8 10 7 5
9 10 6 1 9 1 6 10

Матрица элементтерін алмастыру жасаудың екінші тәсілі бар. Ол төмендегіше жүзеге асады:


for i in range(n):
A[i][2], A[i][4] = A[i][4], A[i][2]
Мәндер арасына үтір қойылып жазылады.
Жоғарыдағы бағдарламадағы алмастыру бөлігінің орнына осы екі жолды жазуға болады.



жүктеу 67,5 Kb.

Достарыңызбен бөлісу:
1   2   3




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау