কম্পিউটার

একটি অ্যারে প্যালিনড্রোম কিনা বা পুনরাবৃত্তি ব্যবহার করছে না তা পরীক্ষা করার জন্য সি প্রোগ্রাম


একটি অ্যারে দেওয়া অ্যারে [n] যেখানে n একটি অ্যারের কিছু আকার, কাজটি হল অ্যারেটি প্যালিনড্রোম নাকি রিকারশন ব্যবহার করছে না তা খুঁজে বের করা। প্যালিনড্রোম হল এমন একটি ক্রম যা পিছনের দিকে এবং সামনের দিকে একইভাবে পড়া যায়, যেমন:ম্যাডাম, নমন ইত্যাদি৷

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

একটি অ্যারে প্যালিনড্রোম কিনা বা পুনরাবৃত্তি ব্যবহার করছে না তা পরীক্ষা করার জন্য সি প্রোগ্রাম

পুনরাবৃত্তিতেও আমাদের সূচনা এবং শেষের মান পরিবর্তন করতে হবে যতক্ষণ না তারা সমান হয় বা যখন শুরু এবং শেষের মান সমান না হয় তখন প্রস্থান করুন এবং প্রত্যাবর্তন করুন যে প্রদত্ত অ্যারেটি প্যালিনড্রোম নয়৷

উদাহরণ

Input: arr[] = { 2, 3, 4, 3, 2}
Output: Yes, the array is Palindrome
Explanation: the array is identical from start (2, 3, 4, 3, 2) and end (2, 3, 4, 3, 2).
Input: arr[] = {1, 2, 3, 4}
Output: No, the array is not Palindrome
Explanation: The array is not identical from start (1, 2, 3, 4) and end (4, 3, 2, 1).

নিচে ব্যবহৃত পদ্ধতিটি নিম্নরূপ

আমরা পুনরাবৃত্তিমূলকভাবে নিম্নলিখিত পদক্ষেপগুলি করব -

  • চেক করুন arr[start] সমান arr[end] এবং start
  • বৃদ্ধি 1 দিয়ে শুরু হয় এবং হ্রাস 1 দিয়ে শেষ হয়।
  • ধাপ 1 যান।

অ্যালগরিদম

Start
In function int palindrome(int arr[], int start, int end)
   Step 1-> If start >= end then,
      Return 1
   Step 2-> If arr[start] == arr[end] then,
      Return palindrome(arr, start + 1, end - 1)
   Step 3-> Else {
      Return 0
In fucntion int main()
      Step 1-> Declare and initialize an array arr[]
      Step 2-> Declare and initialize n = sizeof(arr) / sizeof(arr[0]
      Step 3-> If palindrome(arr, 0, n - 1) == 1 then,
         Print "Yes, the array is Palindrome”
      Step 4-> Else
         Print "No, the array is not Palindrome”
Stop

উদাহরণ

#include <stdio.h>
// Recursive pallindrome function that returns 1 if
// palindrome, 0 if it is not
int palindrome(int arr[], int start, int end) {
   // base case
   if (start >= end) {
      return 1;
   }
   if (arr[start] == arr[end]) {
      return palindrome(arr, start + 1, end - 1);
   } else {
      return 0;
   }
   // Driver code
   int main() {
   int arr[] = { 1, 2, 0, 2, 1 };
   int n = sizeof(arr) / sizeof(arr[0]);
   if (palindrome(arr, 0, n - 1) == 1)
      printf("Yes, the array is Palindrome\n");
   else
      printf("No, the array is not Palindrome\n");
   return 0;
}

আউটপুট

উপরের কোডটি চালালে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
Yes, the array is Palindrome

  1. একটি অ্যারে প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য সি প্রোগ্রাম

  2. একটি অ্যারে প্যালিনড্রোম কিনা বা C++ এ STL ব্যবহার করছে না তা পরীক্ষা করার জন্য প্রোগ্রাম

  3. একটি স্ট্রিং পরীক্ষা করার প্রোগ্রাম প্যালিনড্রোম কি পাইথনে নয়

  4. একটি স্ট্রিং প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম