আসুন দেখি সি++ ব্যবহার করে কীভাবে ভিন্ন র্যান্ডম নম্বর জেনারেট করা যায়। এখানে আমরা ০ থেকে কিছু মান পর্যন্ত র্যান্ডম নম্বর জেনারেট করছি। (এই প্রোগ্রামে ম্যাক্সিমাম মান ১০০)।
এই অপারেশন করার জন্য আমরা srand() ফাংশন ব্যবহার করছি। এটি সি++ লাইব্রেরিতে আছে। ফাংশন void srand(unsigned int seed) rand ফাংশন দ্বারা ব্যবহৃত র্যান্ডম নম্বর জেনারেটরকে সিড (seed) করে।
srand()-এর ডিক্লেরেশন নিচের মতো:
void srand(unsigned int seed)
এটি seed নামক একটি প্যারামিটার নেয়। এটি একটি ইন্টিজার ভ্যালু যা সিউডো-র্যান্ডম নম্বর জেনারেটর অ্যালগরিদম দ্বারা সিড হিসেবে ব্যবহার করা হবে। এই ফাংশন কিছু রিটার্ন করে না।
নম্বর পেতে rand() মেথড দরকার। ০ থেকে max পর্যন্ত নম্বর পেতে আমরা মডুলাস অপারেটর ব্যবহার করে ভাগশেষ বের করছি।
সিড ভ্যালুর জন্য আমরা time(0) ফাংশনের রেজাল্ট srand() ফাংশনে দিচ্ছি।
উদাহরণ
#include<iostream> #include<cstdlib> #include<ctime> using namespace std; main() { int max; max = 100; //র্যান্ডম নম্বর জেনারেট করার জন্য আপার বাউন্ড সেট করুন srand(time(0)); for(int i = 0; i<10; i++) { //১০টি র্যান্ডম নম্বর জেনারেট করুন cout << "The random number is: "<<rand()%max << endl; } }
আউটপুট
The random number is: 6 The random number is: 82 The random number is: 51 The random number is: 46 The random number is: 97 The random number is: 60 The random number is: 20 The random number is: 2 The random number is: 55 The random number is: 91