C++ এ স্ট্রিং রিভার্স

C E Strim Ribharsa



অনেক C++ প্রোগ্রামিং পরিস্থিতিতে, একটি স্ট্রিং বিপরীত করার প্রয়োজন হতে পারে। একটি স্ট্রিংকে উল্টানোর জন্য স্ট্রিংয়ের অক্ষরগুলির ক্রম পরিবর্তন করা এবং এটিকে বিপরীত ক্রমে সেট করা বা এটি কেবল একটি স্ট্রিংকে পিছনের দিকে প্রিন্ট করা হতে পারে। একটি স্ট্রিংকে বিপরীত করার জন্য যা প্রয়োজন তা হল তার চূড়ান্ত উপাদানটিকে স্ট্রিংয়ের প্রাথমিক স্থানে নিয়ে যাওয়া ইত্যাদি। কিছু পরিস্থিতিতে, স্থায়ীভাবে স্ট্রিংটিকে তার ঠিকানায় বিপরীত করার প্রয়োজন হতে পারে। C++ স্ট্রিং বিপরীত করার জন্য বিভিন্ন পদ্ধতি প্রদান করে।

C++ প্রোগ্রামিং-এ স্ট্রিং রিভার্স করার কৌশল

আমরা যে কোড স্পেসিফিকেশন তৈরি করছি তার উপর নির্ভর করে, C++ প্রোগ্রামিং-এ স্ট্রিং রিভার্সাল বাস্তবায়নের জন্য বেশ কিছু কৌশল বিদ্যমান। এই কৌশলগুলি হল:

  • 'বিপরীত()' পদ্ধতি ব্যবহার করা
  • 'strrev()' পদ্ধতি ব্যবহার করা
  • 'এর জন্য' লুপ ব্যবহার করা হচ্ছে
  • 'যখন' লুপ ব্যবহার করা হচ্ছে
  • কনস্ট্রাক্টর ব্যবহার করা

উদাহরণ 1:

প্রথমত, আমরা তিনটি স্বতন্ত্র হেডার ফাইল ইম্পোর্ট করি যা হল “অ্যালগরিদম”, “iostream”, এবং “স্ট্রিং”। আমাদের অবশ্যই এই হেডার ফাইলগুলি অন্তর্ভুক্ত করতে হবে যাতে আমরা তাদের মধ্যে সংজ্ঞায়িত ফাংশনগুলি ব্যবহার করি। 'অ্যালগরিদম' শিরোনাম ফাইলটি আমাদের কাছে উপলব্ধ অনুসন্ধান, বাছাই, গণনা, পরিবর্তন ইত্যাদির জন্য অসংখ্য বিল্ট-ইন ফাংশন অন্তর্ভুক্ত করে।







তারপর, 'iostream' ডেটা ইনপুট বা আউটপুট করার জন্য ফাংশন প্রদান করে এবং 'স্ট্রিং' হেডার ফাইলটি অন্তর্ভুক্ত করা হয় কারণ এটি স্ট্রিং ডেটার সাথে কাজ করার সময় প্রয়োজনীয় ফাংশন প্রদান করে। এই হেডার ফাইলের নিচে, আমরা 'std' নামস্থান যোগ করি। এখানে, আমরা 'main()' ফাংশন চালু করি।



তারপর, আমরা 'স্ট্রিং' ডাটা টাইপ রাখি এবং কিছু স্ট্রিং ডেটা দিয়ে এখানে 'originalStr' শুরু করি। তারপর, আমরা যে স্ট্রিং মুদ্রণ. এর পরে, আমরা 'রিভার্স()' পদ্ধতিটি ব্যবহার করি যা স্ট্রিংটিকে বিপরীত করতে সহায়তা করে। এই 'রিভার্স()' পদ্ধতিতে, আমরা 'originalStr' ভেরিয়েবলের সাথে 'begin()' এবং 'end()' যোগ করি। এখন, আমরা এই বিপরীত স্ট্রিংটিও প্রিন্ট করি যা আমরা 'বিপরীত()' পদ্ধতি প্রয়োগ করার পরে পাই।



কোড 1:





# অন্তর্ভুক্ত <অ্যালগরিদম>
#অন্তর্ভুক্ত করুন
#include
ব্যবহার নামস্থান std ;
int প্রধান ( )
{
স্ট্রিং originalStr = 'C++ প্রোগ্রামিং-এ স্ট্রিং রিভার্স' ;
cout << 'মূল স্ট্রিং!' << endl ;
cout << originalStr << endl << endl ;
বিপরীত ( originalStr. শুরু ( ) , originalStr. শেষ ( ) ) ;
cout << 'বিপরীত স্ট্রিং!' << endl ;
cout << originalStr ;
ফিরে 0 ;
}

আউটপুট:
আমাদের কোডে 'রিভার্স()' পদ্ধতি প্রয়োগ করার পরে আমরা যে বিপরীত স্ট্রিংটি পাই তা এখন মূল স্ট্রিংয়ের সাথে রেন্ডার করা হয়েছে।



উদাহরণ 2:

আমরা প্রথমে হেডার ফাইলগুলি অন্তর্ভুক্ত করি এবং তারপরে 'নেমস্পেস std' রাখি। তারপর, “main()” পদ্ধতিতে, আমরা “char” ডাটা টাইপ “Org_str” ভেরিয়েবল নামের সাথে রেখে ক্যারেক্টার অ্যারে শুরু করি এবং এখানে স্ট্রিংটি টাইপ করি যা আমরা বিপরীত করতে চাই। তারপর, আমরা 'cout' এর সাহায্যে এই 'Org_str' রেন্ডার করি।

এর নীচে, আমরা স্ট্রিংটিকে বিপরীত করতে এবং এই ফাংশনে প্যারামিটার হিসাবে 'Org_str' পাস করতে 'strrev()' পদ্ধতিটি ব্যবহার করি। এখন, স্ট্রিং এখানে বিপরীত হয়. এর পরে, আমরা 'cout' এর সাহায্যে বিপরীত স্ট্রিংটিও রেন্ডার করি।

কোড 2:

#অন্তর্ভুক্ত করুন
#include
ব্যবহার নামস্থান std ;
int প্রধান ( )
{
চর Org_str [ ] = 'স্ট্রিং রিভার্স প্রোগ্রাম' ;
cout << Org_str << endl << endl ;
স্ট্রেভ ( Org_str ) ;
cout << 'বিপরীত স্ট্রিং' << endl ;
cout << Org_str ;
ফিরে 0 ;
}

আউটপুট:
এখানে, আমাদের কোডে 'strrev()' পদ্ধতি ব্যবহার করে আমরা যে আসল এবং বিপরীত স্ট্রিংগুলি পেয়েছি তা রেন্ডার করা হয়েছে।

উদাহরণ 3:

এই ক্ষেত্রে, হেডার ফাইলগুলি 'নেমস্পেস std' যোগ করার আগে অন্তর্ভুক্ত করা হয়। তারপর, “main()” চালু করা হয় এবং স্ট্রিং ভেরিয়েবলটিকে “myOrgStr” নামের সাথে যোগ করা হয় এবং স্ট্রিং ডেটা দিয়ে আরম্ভ করা হয়।

এর পরে, আমরা 'int' ভেরিয়েবল 'a' ঘোষণা করি এবং 'cout' ব্যবহার করে 'myOrgStr' স্ট্রিং রেন্ডার করি। এর নীচে, আমরা 'for' লুপটি ব্যবহার করি যেখানে আমরা 'myOrgStr.length() – 1' দিয়ে 'a' ভেরিয়েবল শুরু করি এবং তারপর একটি শর্ত রাখি যা 'a >= 0' এবং 'a' এর মান হ্রাস করি। ” এটি আমাদের স্ট্রিংকে বিপরীত করে এবং এটিকে 'myOrgStr[a]' এ সংরক্ষণ করে এবং আমরা 'cout' এর ভিতরে 'myOrgStr[a]' স্থাপন করার সাথে সাথে এটি প্রদর্শন করে।

কোড 3:

#অন্তর্ভুক্ত করুন
#include
ব্যবহার নামস্থান std ;
int প্রধান ( )
{
স্ট্রিং myOrgStr = 'ওহে বিশ্ব!' ;
int ;
cout << myOrgStr << endl << endl ;
cout << 'বিপরীত স্ট্রিং' <= 0 ; -- )
{
cout << myOrgStr [ ] ;
}
ফিরে 0 ;
}

আউটপুট:
এটি মূল এবং বিপরীত উভয় স্ট্রিং রেন্ডার করে যা আমরা আমাদের কোডের মাধ্যমে 'ফর' লুপ পদ্ধতি ব্যবহার করে পেয়েছি।

উদাহরণ 4:

এখানে, আমরা “bits/stdc++.h” হেডার ফাইল ইম্পোর্ট করি তাই আমাদের অন্য হেডার ফাইল ইম্পোর্ট করার দরকার নেই কারণ এই হেডার ফাইলটিতে ফাংশনের সমস্ত সংজ্ঞা রয়েছে। তারপর, আমরা 'namespace std' টাইপ করি। এখানে, আমরা 'Rev()' নামের একটি ফাংশন তৈরি করি যেখানে আমরা এই ফাংশনের আর্গুমেন্ট হিসাবে 'স্ট্রিং এবং মাইস্ট্রিং' পাস করি। স্ট্রিং বিপরীত করার জন্য আমরা এখানে এই ফাংশনটি তৈরি করি।

এই ফাংশনে, আমরা “int” ডাটা টাইপের “S_len” ভেরিয়েবল রাখি এবং এর সাথে “myString” বসিয়ে “length()” ফাংশন দিয়ে শুরু করি। তারপর, আমাদের আরেকটি ভেরিয়েবল আছে যা 'int' ডাটা টাইপের 'no' এবং 'S_len-1' দিয়ে শুরু করি।

এর নীচে, আরও একটি ভেরিয়েবল শুরু করা হয়েছে যা 'int' ডেটা টাইপের 'a' নামে পরিচিত। এখানে, আমরা “while()” লুপ ব্যবহার করি এবং শর্ত হিসাবে “a <= no” যোগ করি। তারপর, আমরা 'swap()' পদ্ধতি ব্যবহার করি। এই 'swap()' পদ্ধতিটি স্ট্রিং ডেটা অদলবদল করতে সাহায্য করে এবং তারপর 'no' দিয়ে 'no -1' শুরু করে। আমরা 'a+1' দিয়ে 'a' আরম্ভ করি।

তারপরে আমরা এখানে 'main()' চালু করি যেখানে আমরা স্ট্রিং ডেটা দিয়ে 'myString' ভেরিয়েবল শুরু করি এবং সেই স্ট্রিংটি প্রিন্ট করি। এর পরে, আমরা এই কোডে তৈরি করা 'Rev()' ফাংশনটিকে কল করি এবং এই ফাংশনের প্যারামিটার হিসাবে 'myString' রাখি যা স্ট্রিংটিকে বিপরীত করে এবং তারপরে বিপরীত স্ট্রিং প্রদর্শন করে।

কোড 4:

#include
ব্যবহার নামস্থান std ;
অকার্যকর রেভ ( স্ট্রিং এবং myString )
{
int এস_লেন = myString দৈর্ঘ্য ( ) ;
int না = এস_লেন - 1 ;
int = 0 ;
যখন ( <= না ) {
অদলবদল ( myString [ ] , myString [ না ] ) ;
না = না - 1 ;
= + 1 ;
}

}
int প্রধান ( )
{
স্ট্রিং myString = 'আমি প্রোগ্রামিং পছন্দ করি' ;
cout << myString << endl ;
cout << ' \n বিপরীত স্ট্রিং' << endl ;
রেভ ( myString ) ;
cout << myString ;
ফিরে 0 ;
}

আউটপুট:
এখানে, আমরা আসল স্ট্রিং এবং রিভার্সড স্ট্রিং উভয়ই উপস্থাপন করি যা আমরা আমাদের কোডে তৈরি ফাংশনের ভিতরে “while()” লুপ এবং “swap()” পদ্ধতি ব্যবহার করে পেয়েছি।

উদাহরণ 5:

আমরা সমস্ত ফাংশন সংজ্ঞা সহ “bits/stdc++.h” হেডার ফাইল আমদানি করি। অতএব, আমাদের অন্য কোনো হেডার ফাইল আমদানি করতে হবে না। এর পরে, আমরা 'নেমস্পেস std' লিখি এবং এখানে 'main()' কল করি। তারপর, আমাদের কাছে 'স্ট্রিং' ডাটা টাইপের একটি ভেরিয়েবল 'ডেটা' আছে এবং আমরা যে স্ট্রিংটি রিভার্স করতে চাই তা দিয়ে শুরু করি।

আমরা এই মূল স্ট্রিংটিকে বিপরীত করার আগে রেন্ডার করি 'cout'-এ 'ডেটা' ভেরিয়েবল রেখে। এর নীচে, আমরা একই 'স্ট্রিং' ডেটা টাইপের 'revStr' আরেকটি ভেরিয়েবল শুরু করি। তারপর, আমরা 'rbegin()' এবং 'rend()' ব্যবহার করি যা বিপরীত পুনরাবৃত্তিকারী যা আমরা এখানে স্ট্রিংটি বিপরীত করার জন্য যুক্ত করি। বিপরীত স্ট্রিংটি এখন 'revStr' ভেরিয়েবলে সংরক্ষণ করা হয়েছে যা এখানে বিপরীত স্ট্রিংটি প্রিন্ট করার জন্য 'cout' এ স্থাপন করা হয়েছে।

কোড 5:

#অন্তর্ভুক্ত
ব্যবহার নামস্থান std ;
int প্রধান ( )
{
স্ট্রিং ডেটা = 'সি++ হল সেরা প্রোগ্রামিং ভাষা' ;
cout << তথ্য << endl << endl ;
স্ট্রিং revStr = স্ট্রিং ( তথ্য আরম্ভ ( ) , ডেটা। তোলে ( ) ) ;

cout << revStr << endl ;
ফিরে 0 ;
}

আউটপুট:
আমরা কোডে যে স্ট্রিং যোগ করেছি তা প্রথমে এখানে রেন্ডার করা হয়েছে। তারপরে, বিপরীত পুনরাবৃত্তিকারীগুলি ব্যবহার করে আমরা যে বিপরীত স্ট্রিংটি পেয়েছি তা নিম্নলিখিতটিতে প্রদর্শিত হয়:

উপসংহার

C++ প্রোগ্রামিং-এর 'স্ট্রিং রিভার্স' ধারণাটি এই প্রবন্ধে আলোচনা করা হয়েছে যেখানে আমরা স্ট্রিং বিপরীত করার একাধিক কৌশল অন্বেষণ করেছি। আমরা এমন সমস্ত পদ্ধতি অন্বেষণ করেছি যা C++ এ স্ট্রিংকে বিশদভাবে উল্টাতে সাহায্য করে এবং আমাদের C++ কোডে স্ট্রিংটিকে উল্টাতে সাহায্য করে। এই নিবন্ধে, আমরা আমাদের কোডগুলিতে আসল এবং বিপরীত স্ট্রিংগুলি দেখিয়েছি।