এই আর্টিকেলে, আমরা rand() এবং srand() ফাংশনের ওয়ার্কিং, সিনট্যাক্স এবং উদাহরণ আলোচনা করব C++ STL-এ।
rand() কী?
rand() ফাংশন C++ STL-এ একটি ইনবিল্ট ফাংশন, যা <cstdlib> হেডার ফাইলে ডিফাইন করা আছে। rand() র্যান্ডম নম্বর সিরিজ জেনারেট করতে ব্যবহৃত হয়। আমরা এই ফাংশনটি ব্যবহার করি যখন আমাদের কোডে একটি র্যান্ডম নম্বর জেনারেট করতে হয়।
যেমন আমরা C++-তে লুডোর গেম বানাচ্ছি এবং ১ থেকে ৬ এর মধ্যে যেকোনো র্যান্ডম নম্বর জেনারেট করতে হয় তাহলে আমরা rand() ব্যবহার করতে পারি।
র্যান্ডম নম্বরটি একটি অ্যালগরিদম ব্যবহার করে জেনারেট হয় যা এই ফাংশন কল করার 때마다 নন-রিলেটেড নম্বর সিরিজ দেয়।
যেমন ১-৬ এর মধ্যে র্যান্ডম নম্বর চাইলে আমরা এই ফাংশনটি এইভাবে ব্যবহার করি −
Num = rand() % 6 + 1;
সিনট্যাক্স
int rand();
প্যারামিটার
ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না −
রিটার্ন ভ্যালু
এই ফাংশন ০ থেকে RAND_MAX পর্যন্ত একটি ইন্টিজার ভ্যালু রিটার্ন করে।
ইনপুট
rand() % 100 +1;
আউটপুট
57
উদাহরণ
rand()
#include <stdio.h>
#include <stdlib.h&g;
int main(void){
printf("Randomly generated numbers are: ");
for(int i = 0; i<5; i++)
printf(" %d ", rand());
return 0;
}
আউটপুট
আমরা এই কোডটি প্রথমবার রান করলে আউটপুট হবে −
Randomly generated numbers are: 1804289383 846930886 1681692777 1714636915 1957747793
আমরা এই কোডটি N-তম বার রান করলে আউটপুট হবে −
Randomly generated numbers are: 1804289383 846930886 1681692777 1714636915 1957747793
srand() কী?
srand() ফাংশন C++ STL-এ একটি ইনবিল্ট ফাংশন, যা <cstdlib> হেডার ফাইলে ডিফাইন করা আছে। srand() র্যান্ডম নম্বর জেনারেটর ইনিশিয়ালাইজ করতে ব্যবহৃত হয়। এই ফাংশনটি পসিউডো-র্যান্ডম ইন্টিজার সিরিজ প্রডিউস করার জন্য একটি শুরুর পয়েন্ট দেয়। আর্গুমেন্টটি সিড হিসেবে পাস করা হয় পসিউডো-র্যান্ডম নম্বর জেনারেট করার জন্য। যখনই srand-এ ভিন্ন সিড ভ্যালু ব্যবহার করা হয়, পসিউডো নম্বর জেনারেটরसे ভিন্ন সিরিজের রেজাল্ট আশা করা যায় rand()-এর মতো।
সিনট্যাক্স
int srand(unsigned int seed);
প্যারামিটার
ফাংশনটি নিচের প্যারামিটারটি গ্রহণ করে −
seed − এটি একটি ইন্টিজার যা পসিউডো-র্যান্ডম নম্বর জেনারেটর দ্বারা সিড হিসেবে ব্যবহৃত হয়।
রিটার্ন ভ্যালু
এই ফাংশন একটি পসিউডো জেনারেটেড র্যান্ডম নম্বর রিটার্ন করে।
ইনপুট
srand(time(0)); rand();
আউটপুট
1804289383
উদাহরণ
srand()
#include <stdio.h>
#include <stdlib.h>
#include<time.h>
int main(void){
srand(time(0));
printf("Randomly generated numbers are: ");
for(int i = 0; i<5; i++)
printf(" %d ", rand());
return 0;
}
আউটপুট
আমরা এই কোডটি প্রথমবার রান করলে আউটপুট হবে −
Randomly generated numbers are: 382366186 1045528146 1291469435 515349891 931606430
আমরা এই কোডটি দ্বিতীয়বার রান করলে আউটপুট হবে −
Randomly generated numbers are: 1410939666 214525217 875042802 1560673843 782892338