কম্পিউটার টিউটোরিয়াল

ম্যাট্রিক্সের ডায়াগোনাল যোগফল বের করার প্রোগ্রাম

একটি স্কোয়ার ম্যাট্রিক্স দেওয়া আছে। প্রাইমারি ডায়াগোনাল এবং সেকেন্ডারি ডায়াগোনালের সব এলিমেন্টের যোগফল বের করতে হবে। ক্রসিং এলিমেন্ট (দুই ডায়াগোনালের কমন এলিমেন্ট) একবারই কাউন্ট হবে।

ইনপুট ম্যাট্রিক্স:

10596
81532
38123
21173
প্রাইমারি: [10,15,12,3] যোগফল=৪০। সেকেন্ডারি: [6,3,8,2] যোগফল=১৯। মোট = 59।

সমাধানের ধাপসমূহ

  • m = len(matrix)

  • যদি m == 1: return matrix[0][0]

  • count = 0

  • i = 0 থেকে m-1: count += matrix[i][i] + matrix[i][-1-i]

  • যদি m বিজোড়: count -= matrix[m//2][m//2] (ক্রসিং এলিমেন্ট বাদ দিন)

  • count রিটার্ন করুন

উদাহরণ (Python)

def solve(matrix):
    m = len(matrix)
    if m == 1: return matrix[0][0]
    count = 0
    for i in range(m):
        count += matrix[i][i]
        count += matrix[i][-1 - i]
    if m % 2 == 1:
        count -= matrix[m // 2][m // 2]
    return count

matrix = [[10,5,9,6],[8,15,3,2],[3,8,12,3],[2,11,7,3]]
print(solve(matrix))

ইনপুট

[[10,5,9,6],[8,15,3,2],[3,8,12,3],[2,11,7,3]]

আউটপুট

59
  1. পাইথন প্রোগ্রামে অ্যারের যোগফল বের করা

  2. লিস্টের কিউমুলেটিভ সাম বের করার পাইথন প্রোগ্রাম

  3. পাইথনে ম্যাট্রিক্সের ট্রান্সপোজ বের করা

  4. পাইথনে অ্যারের যোগফল বের করা