কম্পিউটার

স্ট্রিং একে অপরের ঘূর্ণন কিনা তা পরীক্ষা করার জন্য একটি প্রোগ্রাম?


এখানে আমরা একটি প্রোগ্রাম দেখব যা বলতে পারে দুটি স্ট্রিং একে অপরের ঘূর্ণন কিনা। স্ট্রিংগুলির ঘূর্ণন −

এর মত

ধরুন দুটি স্ট্রিং হল S1 ='HELLO', এবং S2 ='LOHEL' তাহলে তারা একে অপরের ঘূর্ণন। HELLO থ্রি পজিশন বাম দিকে ঘোরালে এটা হবে LOHEL।

এই সমস্যাটি সমাধান করার জন্য, আমরা প্রথম স্ট্রিংটিকে নিজের সাথে সংযুক্ত করব, তারপরে দ্বিতীয়টি সংযুক্ত স্ট্রিংটিতে উপস্থিত আছে কিনা তা পরীক্ষা করে দেখুন। তাই HELLO-এর জন্য এটি হবে HELLOHEL LO তারপর এই সংযুক্ত স্ট্রিং LOHEL ধারণ করে. [হ্যালোহেলো]।

অ্যালগরিদম

isRotation(str1, str2)

begin
   if lengths of str1, and str2 are not same then return false;
   temp := concatenate str1 with str1 itself
   if temp contains str2, then
      return true
   otherwise return false
end

উদাহরণ

#include<iostream>
using namespace std;
bool isRotation(string str1, string str2){
   if(str1.length() != str2.length())
      return false;
   string con_str = str1 + str1;
   if(con_str.find(str2) != string::npos){
      return true;
   } else {
      return false;
   }
}
main() {
   string str1, str2;
   cout << "Enter two strings: ";
   cin >> str1 >> str2;
   if(isRotation(str1, str2)){
      cout << "Two strings are rotation of each other";
   } else {
      cout << "Two strings are not rotation of each other";
   }
}

আউটপুট

Enter two strings: STACK CKSTA
Two strings are rotation of each other

  1. দুটি স্ট্রিং একই কিনা তা পরীক্ষা করার জন্য সি প্রোগ্রাম

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

  3. পয়েন্ট চেক করার প্রোগ্রাম অবতল বহুভুজ গঠন করছে নাকি পাইথনে নয়

  4. পয়েন্ট চেক করার প্রোগ্রামটি পাইথনে উত্তল হুল তৈরি করছে বা না