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

C প্রোগ্রাম: অ্যারে প্যালিনড্রোম কিনা চেক করা

একটি অ্যারে arr[] দেওয়া থাকলে যেকোনো সাইজ n, আমাদের টাস্ক হলো বের করা অ্যারেটি প্যালিনড্রোম কিনা। প্যালিনড্রোম হলো এমন একটি সিকোয়েন্স যা উল্টে এবং সোজা দুভাবেই একই পড়া যায়, যেমন: MADAM, NAMAN, ইত্যাদি।

সুতরাং একটি অ্যারে প্যালিনড্রোম কিনা চেক করতে আমরা অ্যারেটি পিছন থেকে এবং সামনে থেকে ট্রাভার্স করতে পারি −

C প্রোগ্রাম: অ্যারে প্যালিনড্রোম কিনা চেক করা

উদাহরণ

ইনপুট: arr[] = {1, 0, 0, 1} আউটপুট: Array is palindrome
ইনপুট: arr[] = {1, 2, 3, 4, 5} আউটপুট: Array is not palindrome

নিচে ব্যবহৃত পদ্ধতি −

আমরা অ্যারেটি শুরু থেকে এবং শেষ থেকে ট্রাভার্স করব যতক্ষণ না দুটি সমান হয় এবং চেক করব শুরুয়ের এলিমেন্ট শেষের এলিমেন্টের সাথে একই কিনা, তবে অ্যারেটি প্যালিনড্রোম, অন্যথায় অ্যারেটি প্যালিনড্রোম নয়।

অ্যালগরিদম

Start
function int pallindrome(int arr[], int n) এ
  ধাপ ১ → i, j, flag ইনিশিয়ালাইজ এবং flag = 0 অ্যাসাইন
  ধাপ ২ → লুপ: i = 0, j=n-1; i < n/2, j >= n/2; i++, j--
    If arr[i] != arr[j] then,
      flag = 1 সেট
      Break
    End If
  End Loop
  ধাপ ৩ → If flag == 1 then,
    Return 0
  ধাপ ৪ → Else
    Return 1
End function
function int main(int argc, char const *argv[]) এ
  ধাপ ১ → arr[] = {1, 0, 2, 3, 2, 2, 1} ডিক্লেয়ার ও ইনিশিয়ালাইজ
  ধাপ ২ → n = sizeof(arr)/sizeof(arr[0]) ডিক্লেয়ার ও ইনিশিয়ালাইজ
  ধাপ ৩ → If pallindrome(arr, n) then,
    Print "Array is pallindrome "
  End if
  ধাপ ৪ → Else
    Print "Array is not pallindrome "
    Return 0
End main
Stop

উদাহরণ

#include <stdio.h>
int pallindrome(int arr[], int n) {
    int i, j, flag = 0;
    for(i = 0, j=n-1; i < n/2, j >= n/2; i++, j--) {
        if(arr[i] != arr[j]) {
            flag = 1;
            break;
        }
    }
    if (flag == 1)
        return 0;
    else
        return 1;
}
int main(int argc, char const *argv[]) {
    int arr[] = {1, 0, 2, 3, 2, 2, 1};
    int n = sizeof(arr)/sizeof(arr[0]);
    if(pallindrome(arr, n)) {
        printf("Array is pallindrome\n");
    }
    else
        printf("Array is not pallindrome\n");
    return 0;
}

আউটপুট

উপরের কোড রান করলে নিচের আউটপুট জেনারেট হবে −

Array is not palindrome

  1. C প্রোগ্রাম: অ্যারে-এর উপাদানগুলোর গুণফল (Product) বের করা

  2. C প্রোগ্রাম: রিকার্শন ব্যবহার করে অ্যারে প্যালিনড্রোম কিনা চেক করা

  3. C প্রোগ্রাম: প্লাস পারফেক্ট নম্বর (Plus Perfect Number) চেক করা

  4. সি++ STL ব্যবহার করে অ্যারে প্যালিনড্রোম কিনা তা যাচাই করার প্রোগ্রাম