কম্পিউটার

C/C++-এ rand() এবং srand()


এই নিবন্ধে, আমরা C++ STL-এ rand() এবং srand() ফাংশনের কাজ, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।

র্যান্ড() কি?

rand() ফাংশন হল C++ STL-এ একটি অন্তর্নির্মিত ফাংশন, যা হেডার ফাইলে সংজ্ঞায়িত করা হয়েছে। Rand() এলোমেলো সংখ্যার একটি সিরিজ তৈরি করতে ব্যবহৃত হয়। আমরা এই ফাংশনটি ব্যবহার করি যখন আমরা আমাদের কোডে একটি এলোমেলো নম্বর তৈরি করতে চাই৷

যেমন আমরা 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-এ একটি অন্তর্নির্মিত ফাংশন, যা হেডার ফাইলে সংজ্ঞায়িত করা হয়েছে। srand() র্যান্ডম নম্বর জেনারেটর শুরু করতে ব্যবহৃত হয়। এই ফাংশনটি ছদ্ম-র্যান্ডম পূর্ণসংখ্যা সিরিজ তৈরি করার জন্য একটি সূচনা বিন্দু দেয়। যুক্তিটি একটি ছদ্ম-এলোমেলো সংখ্যা তৈরি করার জন্য একটি বীজ হিসাবে পাস করা হয়। যখনই srand-এ একটি ভিন্ন বীজের মান ব্যবহার করা হয় তখন ছদ্ম নম্বর জেনারেটর থেকে rand() এর মতো একই ফলাফলের বিভিন্ন সিরিজ তৈরি করার আশা করা যেতে পারে।

সিনট্যাক্স

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

  1. C/C++ এ ল্যাম্বডা ফাংশনের তাৎপর্য

  2. C/C++(3.5) এ ফাংশন

  3. C/C++ এ putwchar() ফাংশন

  4. C/C++ এ সিস্টেম() ফাংশন