Natijada matritsaning barcha qatorlari gorizontalga nisbatan o'girilgan va chapdan o'ngga ko'chirilgan. Shunday qilib, matritsa gorizontal yo'nalishda ko'chirilgan.
2-amaliy mashg’ulot topshiriqlari
Kvadrat matritsani asosiy diоganal elеmеntlaridan eng kattasi va yordamchi dioganal elementlaridan eng kichigi tоpilsin.
Matritsani NxN o'lchamli deb olib, matritsaning asosiy diagonalidagi eng katta elementni va yordamchi diagonalidagi eng kichik elementni topish uchun quyidagi algoritmni izohlashingiz mumkin:
Eng katta va eng kichik elementlar uchun ularning boshlang'ich qiymatlarini alohida bir o'zgaruvchida saqlash kerak. Ushbu o'zgaruvchilarga matritsaning birinchi elementlarini o'zlashtirish mumkin.
Matritsaning asosiy diagonalidan o'tish uchun, matritsa indeksi i va j ning qiymati bir-biriga teng bo'lishi kerak.
Matritsaning asosiy diagonalidagi har bir elementni tekshirib, uni eng katta element bilan taqqoslash kerak. Agar tekshirilgan element katta bo'lsa, ularning qiymatlarini o'zgartirish kerak.
Matritsaning yordamchi diagonalidagi har bir elementni tekshirib, uni eng kichik element bilan taqqoslash kerak. Agar tekshirilgan element kichik bo'lsa, ularning qiymatlarini o'zgartirish kerak.
Eng katta va eng kichik elementlarni qaytarish kerak.
Dastur quyidagicha yozilishi mumkin:
# NxN o'lchamli matritsa
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
# Asosiy diagonal elementlari
max_diagonal = matrix[0][0]
min_diagonal = matrix[0][0]
# Yordamchi diagonal elementlari
max_secondary_diagonal = matrix[0][len(matrix) - 1]
min_secondary_diagonal = matrix[0][len(matrix) - 1]
# Asosiy diagonal elementlaridan eng katta va yordamchi diagonal elementlaridan eng kichik elementlarni topish
for i in range(len(matrix)):
# Asosiy diagonal elementlari
if matrix[i][i] > max_diagonal:
max_diagonal = matrix[i][i]
if matrix[i][i] < min_diagonal:
min_diagonal = matrix[i][i]
# Yordamchi diagonal elementlari
if matrix[i][len(matrix) - 1 - i] > max_secondary_diagonal:
max_secondary_diagonal = matrix[i][len(matrix) - 1 - i]
if matrix[i][len(matrix) - 1 - i] < min_secondary_diagonal:
min_secondary_diagonal = matrix[i][len(matrix) - 1 - i]
# Eng katta va eng kichik elementlarni ekranga chiqarish
print("Asosiy diagonal elementlari: eng katta=", max_diagonal, " eng kichik=", min_diagonal)
print("Yordamchi diagonal elementlari: eng katta=", max_secondary_diagonal, " eng kichik=", min_secondary_diagonal)
Dostları ilə paylaş: |