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

C++-এ ম্যাট্রিক্স ডায়াগোনাল সমান রো/কলাম গণনা

একটি স্কোয়ার ম্যাট্রিক্স দেওয়া আছে। প্রিন্সিপাল ও সেকেন্ডারি ডায়াগোনালের সমের সাথে মিলে যাওয়া রো ও কলামের সংখ্যা গণনা করুন।

উদাহরণ

ম্যাট্রিক্স: {{4,1,7}, {10,3,5}, {2,2,11}}

প্রিন্সিপাল ডায়াগোনাল সম: 4+3+11=18

সেকেন্ডারি ডায়াগোনাল সম: 7+3+2=12

রো সম: 12, 18, 15 → ২টি মিলে (১২, ১৮)

কলাম সম: 16, 6, 23 → ০টি মিলে

আউটপুট: 2

C++ বাস্তবায়ন

#include <iostream>
#define ROW 3
#define COL 3
using namespace std;

int diagonal_sum(int matrix[ROW][COL]) {
    int principal = 0, secondary = 0;
    for (int i = 0, j = COL-1; i < COL; i++, j--) {
        principal += matrix[i][i];
        secondary += matrix[i][j];
    }
    
    int count = 0;
    for (int i = 0; i < COL; i++) {
        int r = 0, c = 0;
        for (int j = 0; j < COL; j++) {
            r += matrix[i][j];
            c += matrix[j][i];
        }
        if (r == principal || r == secondary) count++;
        if (c == principal || c == secondary) count++;
    }
    return count;
}

int main() {
    int matrix[ROW][COL] = {{4,1,7},{10,3,5},{2,2,11}};
    cout << "Count: " << diagonal_sum(matrix);
    return 0;
}

সময় জটিলতা

O(n²) - ম্যাট্রিক্স ট্রাভার্সাল। স্পেস O(1)।

  1. ফিবোনাচ্চি সংখ্যা যেন করা নোডের ওজন এবং X-এর যোগফল C++-এ

  2. সি++-এ বাইনারি সাবঅ্যারে উইথ সম (Binary Subarrays With Sum)

  3. C++-এ Subarray Sum Equals K

  4. C++-এ 'a' সংখ্যা 'b'-র চেয়ে বেশি হয় এমন প্রিফিক্সের সংখ্যা (Prefixes with More a than b)