این برنامه پایتون یک ماتریس مربعی n × n را از ورودی دریافت کرده و مجموع عناصر روی قطر اصلی و قطر فرعی را محاسبه و نمایش میدهد.
- عناصر قطر اصلی در موقعیتهایی هستند که i == j
- عناصر قطر فرعی در موقعیتهایی هستند که i + j == n - 1
def read_matrix(n: int) -> list[list[int]]:
print(f"ورود عناصر ماتریس {n}×{n}:")
matrix = []
for i in range(n):
row = list(map(int, input(f"سطر {i+1}: ").strip().split()))
if len(row) != n:
print("تعداد عناصر در هر سطر باید برابر با n باشد.")
exit()
matrix.append(row)
return matrix
def sum_diagonals(matrix: list[list[int]]) -> int:
n = len(matrix)
total = 0
for i in range(n):
total += matrix[i][i] # قطر اصلی
if i != n - 1 - i: # جلوگیری از دوبارهشماری عنصر مرکزی در ماتریسهای فرد
total += matrix[i][n - 1 - i] # قطر فرعی
return total
# دریافت اندازه ماتریس
n = int(input("اندازه ماتریس (n): "))
if n < 1:
print("اندازه ماتریس باید مثبت باشد.")
exit()
# خواندن و محاسبه
mat = read_matrix(n)
result = sum_diagonals(mat)
print(f"\nمجموع عناصر قطر اصلی و فرعی: {result}")
ورودی:
1 2 3
4 5 6
7 8 9
قطر اصلی: 1 + 5 + 9 = 15
قطر فرعی: 3 + 5 + 7 = 15
مجموع نهایی: 15 + 15 - 5 = 25 (چون 5 در هر دو قطر ظاهر شده)
خروجی:
مجموع عناصر قطر اصلی و فرعی: 25