কম্পিউটার

C++ এ টেস্ট কেস (উৎপন্ন() এবং generate_n() তৈরি করা হচ্ছে


এই বিভাগে আমরা দেখব কিভাবে আমরা পরীক্ষার কেস তৈরি করতে C++ STL ফাংশন ব্যবহার করতে পারি। কখনও কখনও অ্যারে প্রোগ্রামগুলির জন্য পরীক্ষার কেস তৈরি করা খুব জটিল এবং অদক্ষ প্রক্রিয়া হতে পারে। C++ পরীক্ষার কেস তৈরি করার জন্য দুটি পদ্ধতি প্রদান করে। এই পদ্ধতিগুলি নিম্নরূপ -

জেনারেট() পদ্ধতি

C++ ফাংশন std::algorithm::generate() প্রথম থেকে শেষ রেঞ্জের উপাদানগুলিতে জেনকে পরপর কলের মাধ্যমে ফেরত দেওয়া মান নির্ধারণ করে। এটি তিনটি প্যারামিটার লাগে প্রথম, শেষ এবং জেন, এগুলি হল প্রারম্ভিক অবস্থানে ফরোয়ার্ড পুনরাবৃত্তিকারী, চূড়ান্ত অবস্থানে পিছনের পুনরাবৃত্তিকারী এবং জেনারেটর ফাংশন যা কোন যুক্তি ছাড়াই বলা হয় এবং মান ফেরত দেয়।

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

#include <bits/stdc++.h>
using namespace std;
int create_random() {
   return (rand() % 1000);
}
int main () {
   srand(time(NULL));
   vector<int> data(15);
   generate(data.begin(), data.end(), create_random);
   for (int i=0; i<data.size(); i++)
      cout << data[i] << " " ;
}

আউটপুট

449 180 785 629 547 912 581 520 534 778 670 302 345 965 107

generate_n() পদ্ধতি

C++ ফাংশন std::algorithm::generate_n() প্রথম n এলিমেন্টের জন্য জেনকে পরপর কলের মাধ্যমে ফেরত দেওয়া মান নির্ধারণ করে। এটিতে তিনটি প্যারামিটার লাগে প্রথমে, n এবং gen, এগুলি প্রাথমিক অবস্থানে ফরোয়ার্ড পুনরাবৃত্তিকারী, কলের সংখ্যা থাকবে এবং জেনারেটর ফাংশন যা কোন যুক্তি ছাড়াই কল করা হয় এবং মান ফেরত দেয়।

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

#include <bits/stdc++.h>
using namespace std;
int create_random() {
   return (rand() % 1000);
}
int main () {
   srand(time(NULL));
   vector<int> data(15);
   generate_n(data.begin(), 6, create_random);
   for (int i=0; i<data.size(); i++)
      cout << data[i] << " " ;
}

আউটপুট

540 744 814 771 254 913 0 0 0 0 0 0 0 0 0

  1. C++ এ বৃত্ত এবং আয়তক্ষেত্র ওভারল্যাপিং

  2. C++ এ ডোমিনো এবং ট্রোমিনো টাইলিং

  3. পিরামিড এবং প্যাটার্ন তৈরি করতে সি++ প্রোগ্রাম

  4. সি++ এবং সি#-এ ফরিচ