র্যান্ড () সি ভাষায় ফাংশন

Rand Function C Language



সি ভাষায়, সারি () ফাংশন জন্য ব্যবহার করা হয় ছদ্ম সংখ্যা জেনারেটর (PRNG) । Rand () ফাংশন দ্বারা উৎপন্ন এলোমেলো সংখ্যাগুলি সত্যিই এলোমেলো নয়। এটি একটি ক্রম যা পর্যায়ক্রমে পুনরাবৃত্তি করে, কিন্তু সময়কাল এত বড় যে আমরা এটি উপেক্ষা করতে পারি। দ্য সারি () ফাংশনটি একটি বীজের মান মনে রেখে কাজ করে যা পরবর্তী এলোমেলো সংখ্যা এবং পরবর্তী নতুন বীজ গণনা করতে ব্যবহৃত হয়। এই প্রবন্ধে, আমরা বিস্তারিতভাবে আলোচনা করতে যাচ্ছি কিভাবে ব্যবহার করে এলোমেলো সংখ্যা তৈরি করা যায় সারি () ফাংশন চল শুরু করা যাক!

হেডার ফাইল:

stdlib.h







বাক্য গঠন:

ইন্ট র্যান্ড (শূন্য)



মূল্য ফেরত:

এই ফাংশনটি সিরিজের পরবর্তী ছদ্ম-এলোমেলো সংখ্যা প্রদান করে। সংখ্যা সিরিজের পরিসীমা মান 0 এবং RAND_MAX এর মধ্যে। RAND_MAX হল একটি সংজ্ঞায়িত ম্যাক্রো stdlib.h হেডার ফাইল, যার মান সর্বোচ্চ মান, যা র্যান্ড () ফাংশন দ্বারা ফিরে আসতে পারে। সি লাইব্রেরির উপর নির্ভর করে RAND_MAX এর মান বেশি কিন্তু 32767 এর চেয়ে কম নয়।



// উদাহরণ 1. সি

#অন্তর্ভুক্ত
#অন্তর্ভুক্ত

intপ্রধান()
{

intআমি;

printf ('10 এলোমেলো সংখ্যা =>n');

জন্য(আমি=0;আমি<10;আমি++)
{
printf ('%d', সারি ());
}

printf ('n');
প্রত্যাবর্তন 0;
}


Example1.c তে, আমরা প্রতিটি লটারির পুনরাবৃত্তিতে Rand () ফাংশনকে কল করি এবং ফাংশনের রিটার্ন ভ্যালু প্রিন্ট করি। র্যান্ড () ফাংশনের মান ক্রম প্রতিবার আমরা প্রোগ্রাম চালানোর সময় একই। ডিফল্টরূপে, র্যান্ড ফাংশনের বীজ 1 তে সেট করা হয়।





আমরা র্যান্ড ফাংশনের জন্য বীজ সেট করতে পারি srand () ফাংশন বীজ শুধুমাত্র একবার, এবং প্রথমবারের আগে সেট করা যেতে পারে সারি () ফাংশন কল।

srand () ফাংশন:

হেডার ফাইল:

stdlib.h



বাক্য গঠন:

int srand (স্বাক্ষরবিহীন int বীজ)

যুক্তি:

এই ফাংশনটি 1 টি যুক্তি নেয়

বীজ: ছদ্ম-এলোমেলো সংখ্যার একটি নতুন সিরিজের জন্য বীজ হিসেবে ব্যবহৃত একটি পূর্ণসংখ্যা মান।

মূল্য ফেরত:

কোনটিই নয়

// উদাহরণ 2. সি

#অন্তর্ভুক্ত
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত

intপ্রধান()
{

intআমি;

srand ( সময় (0));

printf ('10 এলোমেলো সংখ্যা =>n');

জন্য(আমি=0;আমি<10;আমি++)
{
printf ('%d', সারি ());
}

printf ('n');
প্রত্যাবর্তন 0;
}


Example2.c তে, আমরা srand () ফাংশন ব্যবহার করেছি র্যান্ড () ফাংশন দ্বারা উৎপন্ন এলোমেলো সংখ্যা ক্রমের প্রাথমিক বীজ সেট করতে। প্রতিবার প্রোগ্রামটি চালানোর সময়, একটি ভিন্ন ক্রম তৈরি করা হয়। Srand (), time (0) ফাংশন (in ঘোষিত সময় হেডার ফাইল) একটি বীজ হিসাবে ব্যবহৃত হয়। এই সময় (0) ফাংশন যুগের পর থেকে অতিবাহিত সেকেন্ডের সংখ্যা প্রদান করে (00:00:00, জানুয়ারি 1, 1970)। আপনি যদি একই সেকেন্ডে প্রোগ্রামটি চালান তবে এটি এখনও একই ক্রম তৈরি করতে পারে।

// উদাহরণ 3. সি

#অন্তর্ভুক্ত
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত

intপ্রধান()
{

intআমি;

srand ( সময় (0));

printf ('10 এবং 1 এর মধ্যে এলোমেলো সংখ্যা =>n');

জন্য(আমি=0;আমি<10;আমি++)
{
printf ('%d',( সারি () %10) + );
}

printf ('n');
প্রত্যাবর্তন 0;
}


Example3.c তে আমরা দেখেছি কিভাবে 1 থেকে 10 এর মধ্যে এলোমেলো সংখ্যা তৈরি করা যায়।

// উদাহরণ 4.c

#অন্তর্ভুক্ত
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত

intপ্রধান()
{

intআমি,সর্বোচ্চ,মিনিট;

printf ('ন্যূনতম মান লিখুন =>');
scanf ('%d', &মিনিট);
printf ('সর্বোচ্চ মান লিখুন =>');
scanf ('%d', &সর্বোচ্চ);

যদি(মিনিট>সর্বোচ্চ)
{
printf ('ন্যূনতম মান সর্বোচ্চ মানের চেয়ে বড়n');
প্রত্যাবর্তন 0;
}

srand ( সময় (0));


printf ('10 %d এবং %d => এর মধ্যে এলোমেলো সংখ্যাn',মিনিট,সর্বোচ্চ);

জন্য(আমি=0;আমি<10;আমি++)
{
printf ('%d',( সারি () % (সর্বোচ্চ-মিনিট+)) +মিনিট);
}

printf ('n');
প্রত্যাবর্তন 0;
}


Example4.c তে আমরা ব্যবহারকারীর কাছ থেকে পরিসীমা নিয়েছি এবং এই পরিসরের মধ্যে একটি এলোমেলো সংখ্যা তৈরি করেছি। সূত্র হল: র্যান্ড ()% (সর্বোচ্চ - মিনিট +1)) + মিনিট

// উদাহরণ 5. সি

#অন্তর্ভুক্ত
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত

intপ্রধান()
{

intআমি;

srand ( সময় (0));

printf ('10 র্যান্ডম সংখ্যা 0.0 এবং 1.0 => এর মধ্যেn');

জন্য(আমি=0;আমি<10;আমি++)
{
printf ('%f',((ভাসা) সারি () /RAND_MAX));
}

printf ('n');
প্রত্যাবর্তন 0;
}


Example5.c তে, আমরা দেখেছি কিভাবে আমরা ভাসমান 0.0 এবং 1.0 এর মধ্যে এলোমেলো সংখ্যা তৈরি করতে পারি সূত্রটি হল: (ভাসমান) র্যান্ড () /RAND_MAX)

// উদাহরণ 6.c

#অন্তর্ভুক্ত
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত

intপ্রধান()
{

intআমি;
ভাসাসর্বোচ্চ,মিনিট;

printf ('ন্যূনতম মান লিখুন =>');
scanf ('%f', &মিনিট);
printf ('সর্বোচ্চ মান লিখুন =>');
scanf ('%f', &সর্বোচ্চ);

যদি(মিনিট>সর্বোচ্চ)
{
printf ('ন্যূনতম মান সর্বোচ্চ মানের চেয়ে বড়n');
প্রত্যাবর্তন 0;
}

srand ( সময় (0));

printf ('10 %f এবং %f => এর মধ্যে এলোমেলো সংখ্যাn',মিনিট,সর্বোচ্চ);

জন্য(আমি=0;আমি<10;আমি++)
{
printf ('%f',মিনিট+ ((ভাসা) সারি () /(RAND_MAX/(সর্বোচ্চ-মিনিট))));
}

printf ('n');
প্রত্যাবর্তন 0;
}


Example6.c এ, আমরা ব্যবহারকারীর কাছ থেকে পরিসীমা নিয়েছি এবং এই পরিসরের মধ্যে একটি এলোমেলো সংখ্যা তৈরি করেছি (উভয় অন্তর্ভুক্ত)। সূত্র হল: min + ((float) rand () /(RAND_MAX /(max - min)))

উপসংহার:

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