কম্পিউটার

প্রদত্ত পুনরাবৃত্তিকারীর ধরন খুঁজে পেতে C++ প্রোগ্রাম


একটি পুনরাবৃত্তিকারী একটি পয়েন্টারের মতো একটি বস্তু যা একটি ধারক উপাদানগুলির উপর পুনরাবৃত্তি করতে ব্যবহৃত হয়। ইটারেটর ব্যবহার করার প্রধান সুবিধা হল একটি সাধারণ ইন্টারফেস তৈরি করা এবং অ্যালগরিদমকে এটি বাস্তবায়নের জন্য ব্যবহৃত কন্টেইনারের ধরন থেকে প্রতিরোধ করা।

C++ স্ট্যান্ডার্ড লাইব্রেরিতে ইটারেটরের প্রকারভেদ রয়েছে −

  • ফরোয়ার্ড পুনরাবৃত্তিকারী
  • দ্বিমুখী পুনরাবৃত্তিকারী
  • ইনপুট পুনরাবৃত্তিকারী
  • আউটপুট পুনরাবৃত্তিকারী
  • এলোমেলো অ্যাক্সেস পুনরাবৃত্তিকারী

প্রোগ্রামটি হল উপরের কোনটি ইটারেটরগুলি ডেটা স্ট্রাকচার দ্বারা ব্যবহৃত হয় তা পরীক্ষা করা৷

ব্যবহৃত পুনরাবৃত্তিকারীর ধরন নির্ধারণের জন্য কয়েকটি কারণ কার্যকর হতে পারে।

  • টাইপইড , রানটাইমে টাইপ শনাক্তকরণ তথ্য প্রদান করে।

  • ইটারেটর বৈশিষ্ট্য , পুনরাবৃত্তিকারীর অধিকারী বৈশিষ্ট্যগুলিকে সংজ্ঞায়িত করে৷

  • পুনরাবৃত্ত বিভাগ যে শ্রেণীতে তারা পুনরাবৃত্তিকারীকে সংজ্ঞায়িত করে তা সংজ্ঞায়িত করতে ব্যবহৃত হয়।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
template <class T>
string iteratortype(T iterator){
   if (typeid(typename iterator_traits<T>::iterator_category)
      == typeid(input_iterator_tag))
      return "Input";
   else if (typeid(typename iterator_traits<T>::iterator_category)
      == typeid(output_iterator_tag))
      return "Output";
   else if (typeid(typename iterator_traits<T>::iterator_category)
      == typeid(forward_iterator_tag))
      return "Forward";
   else if (typeid(typename iterator_traits<T>::iterator_category)
      == typeid(bidirectional_iterator_tag))
      return "Bidirectional";
   else if (typeid(typename iterator_traits<T>::iterator_category)
      == typeid(random_access_iterator_tag))
      return "Random_Access";
   return "Missing";
}
int main(){
   vector<int> vec;
   auto iter = vec.begin();
   cout <<iteratortype(iter) << " Iterator\n";
   return 0;
}

আউটপুট

Random_Access Iterator

  1. C++ এ একটি লাইনের মধ্যবিন্দু খুঁজে বের করার জন্য প্রোগ্রাম

  2. C++ এ ত্রিভুজের সেন্ট্রোয়েড খুঁজে বের করার প্রোগ্রাম

  3. C++ এ একটি পেন্টাগনের এলাকা খুঁজে বের করার প্রোগ্রাম

  4. C++ এ সমান্তরালগ্রামের ক্ষেত্রফল বের করার প্রোগ্রাম