কম্পিউটার

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


n পূর্ণসংখ্যার একটি অ্যারে [n] দেওয়া, কাজটি হল অ্যারেটি প্যালিনড্রোম কিনা তা খুঁজে বের করা। C++ এ STL ব্যবহার করে আমাদের উল্লেখিত কাজটি করতে হবে।

C++ এ STL(স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরি) এর একটি বৈশিষ্ট্য রয়েছে, এটি C++ টেমপ্লেট ক্লাসের একটি সেট যা ডেটা স্ট্রাকচার এবং স্ট্যাক, সারি, তালিকা ইত্যাদির মতো বেশ কিছু ফাংশন প্রদান করতে ব্যবহৃত হয়। এগুলো ব্যবহার করার জন্য অবশ্যই জ্ঞান থাকতে হবে। টেমপ্লেট ক্লাসের।

প্যালিনড্রোম হল একটি সিকোয়েন্স যা সিকোয়েন্সের সামনে বা পিছন থেকে একইভাবে পড়া হয়। একটি প্যালিনড্রোমের কিছু সাধারণ উদাহরণ হল − MADAM, RACECAR, ইত্যাদি৷ নীচের উদাহরণের মতো একটি অ্যারে একটি প্যালিনড্রোম হবে -

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

সুতরাং, অ্যারেটি একটি প্যালিনড্রোম কিনা বা C++ এ STL ব্যবহার করছে কিনা তা খুঁজে বের করা এবং এটি একটি প্যালিনড্রোম হলে "এটি একটি প্যালিনড্রোম" প্রিন্ট করা এবং যদি এটি প্যালিনড্রোম না হয় তবে "এটি একটি প্যালিনড্রোম নয়" প্রিন্ট করা সহজ।

ইনপুট

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

আউটপুট

its a palindrome

ইনপুট

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

আউটপুট

its not a palindrome

সমস্যা সমাধানের জন্য নিচের পদ্ধতিটি ব্যবহার করা হয়েছে

  • শুরুতে ডিফল্টরূপে পতাকা =0 সেট করুন।

  • 0 থেকে আকার n/2 পর্যন্ত অ্যারে i লুপ করুন

  • প্রত্যেকের জন্য আমি পরীক্ষা করে দেখব যে আরআর[i] কিনা! =arr[n-i-1] তারপর পতাকা সেট করুন =1 এবং বিরতি

  • লুপ শেষ হওয়ার পরে, পতাকা 1 হলে প্রিন্ট "এটি একটি প্যালিনড্রোম" অন্যথায় "এটি প্যালিনড্রোম নয়" প্রিন্ট করুন৷

অ্যালগরিদম

Start 1→ declare function to check if an array is palindrome or not
   void check_palindrome(int arr[], int size)
      declare int flag = 0
      Declare int arr_2[size]
      Call memcpy(arr_2, arr, size * sizeof(int))
      Call reverse(arr, arr + size)
      Loop For int i = 0 and i < size and i++
         IF (arr[i] != arr_2[i])
            Set flag = 1
            Break
         End
         IF (flag == 0)
            Print its a palindrome
         End
         Else
            Print its not a palindrome
         End
Step 2→ In main()
   Declare int arr[] = { 2,3,4,3,2 }
   Declare int size = sizeof(arr) / sizeof(arr[0])
   Call check_palindrome(arr, size)

উদাহরণ

#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. একটি অ্যারে প্যালিনড্রোম কিনা বা পুনরাবৃত্তি ব্যবহার করছে না তা পরীক্ষা করার জন্য সি প্রোগ্রাম

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

  3. C++ প্রোগ্রামে সাবস্ট্রিং[L…R] প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য প্রশ্ন

  4. C++ এ একটি অ্যারের বিটনোসিটি পরীক্ষা করার জন্য প্রোগ্রাম