C ++ srand () - C ++ मानक पुस्तकालय

सी + + में srand () फ़ंक्शन रैंड () फ़ंक्शन द्वारा उपयोग किए गए छद्म यादृच्छिक संख्या जनरेटर को बीज देता है।

सी + + में srand () फ़ंक्शन रैंड () फ़ंक्शन द्वारा उपयोग किए गए छद्म यादृच्छिक संख्या जनरेटर को बीज देता है। रैंड () फ़ंक्शन के लिए बीज डिफ़ॉल्ट रूप से 1 है।

इसका मतलब यह है कि अगर रैंड () से पहले कोई सरैंड () नहीं कहा जाता है, तो रैंड () फ़ंक्शन ऐसा व्यवहार करता है जैसे कि उसे सरैंड (1) के साथ बीज दिया गया हो।

srand () प्रोटोटाइप

 शून्य सरंड (अहस्ताक्षरित int बीज);

सरंड () फ़ंक्शन अपने पैरामीटर के रूप में एक अहस्ताक्षरित पूर्णांक लेता है जिसे रैंड () फ़ंक्शन द्वारा बीज के रूप में उपयोग किया जाता है।

इसे हेडर फ़ाइल में परिभाषित किया गया है।

srand () पैरामीटर

  • बीज: एक प्रकार का बीज अहस्ताक्षरित int

srand () रिटर्न वैल्यू

  • कोई नहीं

Srand () फ़ंक्शन किसी भी मान को वापस नहीं करता है।

उदाहरण 1: श्रंद () कैसे काम करता है?

 #include #include using namespace std; int main() ( int random = rand(); /* No srand() calls before rand(), so seed = 1*/ cout << "Seed = 1, Random number = " << random << endl; srand(5); /* Seed = 5 */ random = rand(); cout << "Seed = 5, Random number = " << random << endl; return 0; )

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 बीज = 1, यादृच्छिक संख्या = 41 बीज = 5, यादृच्छिक संख्या = 54

केवल छद्म यादृच्छिक संख्या जनरेटर को कार्यक्रम की शुरुआत में और रैंड () के किसी भी कॉल से पहले बीज देना एक अच्छा अभ्यास है। हर बार जब हमें संख्याओं का एक नया सेट उत्पन्न करने की आवश्यकता होती है, तो इसे सीड नहीं किया जाना चाहिए।

मानक अभ्यास बीज के रूप में एक कॉल के समय (0) के परिणाम का उपयोग करना है। समय () फ़ंक्शन 00:00 घंटे, 1 जनवरी, 1970 UTC (यानी वर्तमान यूनिक्स टाइमस्टैम्प) के बाद से सेकंड की संख्या देता है। समय के साथ बीज का मूल्य बदल जाता है। इसलिए जब भी हम प्रोग्राम चलाते हैं, रैंडम नंबर का एक नया सेट उत्पन्न होता है।

उदाहरण 2: श्रंद () समय के साथ कार्य ()

 #include #include #include using namespace std; int main() ( srand(time(0)); int random = rand(); cout << "Seed = " << time(0) << endl; cout << "Random number = " << random << endl; return 0; )

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 बीज = 1485583981 यादृच्छिक संख्या = 22589

दिलचस्प लेख...