इस खंड में हम देखेंगे कि हम परीक्षण मामलों को उत्पन्न करने के लिए C++ STL फ़ंक्शन का उपयोग कैसे कर सकते हैं। कभी-कभी सरणी कार्यक्रमों के लिए परीक्षण मामले उत्पन्न करना बहुत जटिल और अक्षम प्रक्रिया हो सकती है। C++ टेस्ट केस जनरेट करने के लिए दो तरीके प्रदान करता है। ये तरीके इस प्रकार हैं -
उत्पन्न () विधि
C++ फ़ंक्शन std::algorithm::generate() पहले से अंतिम की सीमा में तत्वों को gen को क्रमिक कॉल द्वारा लौटाए गए मान को असाइन करता है। यह पहले तीन पैरामीटर लेता है, अंतिम और सामान्य, ये प्रारंभिक स्थिति के लिए आगे इटरेटर हैं, अंतिम स्थिति में पिछड़े पुनरावर्तक और जेनरेटर फ़ंक्शन जिसे बिना किसी तर्क के कहा जाता है, और वापसी मान।
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
#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
जेनरेट_एन() विधि
C++ फ़ंक्शन std::algorithm::generate_n() पहले n तत्वों के लिए gen को लगातार कॉल द्वारा लौटाया गया मान निर्दिष्ट करता है। यह पहले तीन पैरामीटर लेता है, 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