rand()
फ़ंक्शन rand() का उपयोग छद्म यादृच्छिक संख्या उत्पन्न करने के लिए किया जाता है। यह एक इंटीजर मान लौटाता है और इसकी रेंज 0 से RAND_MAX तक होती है यानी 32767।
यहां C भाषा में rand() का सिंटैक्स है:
int rand(void);
यहां C भाषा में rand() का एक उदाहरण है:
उदाहरण
#include <stdio.h>
#include <stdlib.h>
int main() {
printf("%d\n", rand());
printf("%d", rand());
return 0;
}
आउटपुट
1804289383 846930886
srand()
फ़ंक्शन srand() का उपयोग rand() फ़ंक्शन द्वारा उत्पन्न छद्म यादृच्छिक संख्या को इनिशियलाइज़ करने के लिए किया जाता है। यह कुछ भी नहीं लौटाता।
यहां C भाषा में srand() का सिंटैक्स है:
void srand(unsigned int seed);
यहां C भाषा में srand() का एक उदाहरण है:
उदाहरण
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
srand(time(NULL)); // वर्तमान समय के साथ सीड
printf("%d\n", rand());
srand(12); // निश्चित सीड
printf("%d", rand());
return 0;
}
आउटपुट
1432462941 1687063760
महत्वपूर्ण बिंदु:
- srand() के बिना, rand() हर रन में समान अनुक्रम उत्पन्न करता है
- srand(time(NULL)) प्रोग्राम के प्रत्येक रन के लिए अलग अनुक्रम देता है
- एक ही सीड के साथ srand() समान अनुक्रम उत्पन्न करेगा (डीबगिंग के लिए उपयोगी)
- RAND_MAX कम से कम 32767 है (आमतौर पर 2147483647 आधुनिक सिस्टम्स पर)
- बेहतर यादृच्छिकता के लिए, C++11 के
या POSIX के random() का उपयोग करें
रेंज में यादृच्छिक संख्या
// min से max (inclusive) के बीच
int random_in_range(int min, int max) {
return min + rand() % (max - min + 1);
}