Friday, January 19, 2018

C তে র‍্যান্ডম সংখ্যা জেনারেট (Producing Random Numbers in C)

আমরা প্রথমে srand() ফাংশন ব্যবহার করবো, যেটা randomizer কে seed করবে।মূল কথা হল, কম্পিউটার একটি র‍্যানডম নাম্বার তৈরী করবে এমন নাম্বার এর উপর ভিত্তি করে, যেটা srand() ফাংশন এর ভিতর seed হিসাবে দেয়া হবে।এখন আমরা যদি প্রতিবার একই সিড ভ্যালু দেই, তাহলে বারবার একই নাম্বার তৈরী হবে।তাই আমাদের আসলে এমন কিছু করা দরকার যাতে প্রতিবার আমাদের প্রোগ্রাম রান করলে সিড ভ্যালুটি একেকবার একেক রকম হয়। এজন্য আমরা time() ফাংশন ব্যবহার করবো।আমরা time() ফাংশন এর মাধ্যমে প্রতিবার আমাদের কম্পিউটার এর বর্তমান সময়কে সিড হিসেবে srand() এ পাস করবো এবং এর ফলে আমরা প্রতিবার প্রোগ্রাম রান করলে আলাদা আলাদা মান পাবো।




এখানে র‍্যানডম নাম্বার তৈরী হবে ঠিকি, কিন্তু আমরা যদি একটি নির্দিষ্ট রেঞ্জ এর মধ্যে নাম্বার চাই, তাহলে আমাদের
rand() কে মড ( modulus '%' ) করতে হবে। যেমন ঃ n % 3 = { 0 , 1 , 2 } এর মধ্যে যে কোন সংখ্যা হবে।
তাই আমরা যদি 0 থেকে n-1 পর্যন্ত সংখ্যার মধ্যে rand() করতে চাই, তাহলে rand() % n দিলেই কাজ হবে :)
0 থেকে n এর মধ্যে চাইলে, rand() % (n+1) or rand() % n + 1 দিলেই আমাদের কাজ শেষ।

No comments:

Post a Comment