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

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


একটি অ্যারে arr[n] দেওয়া আছে। কাজ হলো STL (Standard Template Library) ব্যবহার করে অ্যারেটি প্যালিনড্রোম কিনা তা নির্ধারণ করা।

C++-এ STL হলো টেমপ্লেট ক্লাসের সমষ্টি যা ডেটা স্ট্রাকচার ও ফাংশন (স্ট্যাক, কিউ, লিস্ট ইত্যাদি) প্রদান করে।

প্যালিনড্রোম হলো এমন ক্রম যা সামনে থেকে ও পেছনে থেকে পড়লে একই থাকে। যেমন: MADAM, RACECAR। অ্যারেও একই নিয়ম প্রযোজ্য।

ইনপুট

arr[] = {1, 2, 3, 5, 3, 2, 1}

আউটপুট

its a palindrome

ইনপুট

arr[] = {1, 2, 3, 4, 5}

আউটপুট

its not a palindrome

সমাধানের পদ্ধতি

  • flag = 0 দিয়ে শুরু করুন।
  • অ্যারে লুপ চালান i = 0 থেকে size/2 পর্যন্ত।
  • প্রতি i-তে arr[i] != arr[n-i-1] হলে flag = 1 করে ব্রেক করুন।
  • লুপ শেষে flag == 1 হলে "its a palindrome", অন্যথায় "its not a palindrome" প্রিন্ট করুন।

এলগরিদম

Start
1 → ফাংশন: check_palindrome(int arr[], int size)
    int flag = 0
    int arr_2[size]
    memcpy(arr_2, arr, size * sizeof(int))
    reverse(arr, arr + size)
    for i = 0 to size-1
        if arr[i] != arr_2[i] then flag = 1, break
    if flag == 0 → print "its a palindrome"
    else → print "its not a palindrome"
2 → main(): অ্যারে ঘোষণা, সাইজ গণনা, ফাংশন কল
Stop

উদাহরণ কোড

#include <bits/stdc++.h> 
using namespace std; 

void check_palindrome(int arr[], int size){
    int flag = 0;
    int arr_2[size];
    memcpy(arr_2, arr, size * sizeof(int));
    reverse(arr, arr + size);
    for (int i = 0; i < size; i++) {
        if (arr[i] != arr_2[i]) {
            flag = 1;
            break;
        }
    }
    if (flag == 0)
        cout << "its a palindrome\n";
    else
        cout << "its not a palindrome\n";
}

int main(){
    int arr[] = { 2, 3, 4, 3, 2 };
    int size = sizeof(arr) / sizeof(arr[0]);
    check_palindrome(arr, size);
    return 0;
}

আউটপুট

its a palindrome

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

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

  3. সি++-এ সাবস্ট্রিং প্যালিনড্রোম কিনা তা যাচাই করার কোয়েরি সমাধান

  4. সি++-এ অ্যারে বিটোনিক (Bitonic) কিনা তা যাচাই করার প্রোগ্রাম