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

C++-এ একটি ম্যাট্রিক্স 행켈 (Hankel) কিনা চেক করা

মনে করুন একটি স্কোয়ার ম্যাট্রিক্স আছে, আমাদের কাজ হল চেক করা ম্যাট্রিক্সটি 행켈 (Hankel) ম্যাট্রিক্স কিনা। 행켈 ম্যাট্রিক্স হল একটি স্কোয়ার ম্যাট্রিক্স যেখানে বাম থেকে ডানে আরোহী স্কিউ-ডায়াগোনাল (skew-diagonal) উপাদানগুলো কনস্ট্যান্ট থাকে।

উদাহরণ ম্যাট্রিক্স:

12345
23456
34567
45678
56789

ম্যাট্রিক্স 행켈 কিনা চেক করতে mat[i][j] = ai+j কিনা তা যাচাই করতে হবে। ai+j হল:

$$a_{i+j}=\begin{cases}mat[i+j][0] & \text{if } i+j < n \\ mat[i+j-n+1][n-1] & \text{otherwise} \end{cases}$$

উদাহরণ কোড

#include <iostream>
#define N 5
using namespace std;

bool isHankelMat(int mat[N][N], int n) {
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            if (i + j < n) {
                if (mat[i][j] != mat[i + j][0])
                    return false;
            } else {
                if (mat[i][j] != mat[i + j - n + 1][n - 1])
                    return false;
            }
        }
    }
    return true;
}

int main() {
    int n = 5;
    int mat[N][N] = {
        {1, 2, 3, 4, 5},
        {2, 3, 4, 5, 6},
        {3, 4, 5, 6, 7},
        {4, 5, 6, 7, 8},
        {5, 6, 7, 8, 9}
    };
    if (isHankelMat(mat, n))
        cout << "This is Hankel Matrix";
    else
        cout << "This is not Hankel Matrix";
    return 0;
}

আউটপুট

This is Hankel Matrix
  1. C++-এ একটি ট্রি গ্রাফ লিনিয়ার কিনা তা যাচাই করা

  2. C++-এ একটি অ্যারে পেয়ারওয়াইজ সর্টেড (pairwise sorted) কিনা তা যাচাই করা

  3. C++-এ একটি ম্যাট্রিক্স বাইনারি ম্যাট্রিক্স কিনা তা যাচাই করার প্রোগ্রাম

  4. C++ প্রোগ্রাম: বাইনারি ট্রি AVL ট্রি কিনা যাচাই