এই নিবন্ধে, আমরা C++ STL-এ rand() এবং srand() ফাংশনের কাজ, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।
র্যান্ড() কি?
rand() ফাংশন হল C++ STL-এ একটি অন্তর্নির্মিত ফাংশন, যা
যেমন আমরা C++ এ লুডোর একটি গেম তৈরি করছি এবং আমাদের 1 থেকে 6 এর মধ্যে যেকোনো র্যান্ডম সংখ্যা তৈরি করতে হবে যাতে আমরা একটি র্যান্ডম নম্বর তৈরি করতে rand() ব্যবহার করতে পারি।
এলোমেলো সংখ্যাটি একটি অ্যালগরিদম ব্যবহার করে তৈরি করা হয় যা যখনই এই ফাংশনটি কল করা হয় তখন একটি অ-সম্পর্কিত সংখ্যার একটি সিরিজ দেয়৷
যেমন আমরা 1-6 এর মধ্যে একটি এলোমেলো সংখ্যা তৈরি করতে চাই তাহলে আমরা এই ফাংশনটি ব্যবহার করি যেমন −
সংখ্যা =rand() % 6 + 1;
সিনট্যাক্স
int rand();
প্যারামিটার
ফাংশন কোন প্যারামিটার (গুলি) গ্রহণ করে না -
রিটার্ন মান
এই ফাংশনটি 0 থেকে 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
যদি আমরা এই কোডটি Nth বারের জন্য চালাই আউটপুট হবে −
Randomly generated numbers are: 1804289383 846930886 1681692777 1714636915 1957747793
srand() কি?
srand() ফাংশন হল C++ STL-এ একটি অন্তর্নির্মিত ফাংশন, যা
সিনট্যাক্স
int srand(unsigned int 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