رینڈ () سی زبان میں فنکشن۔

Rand Function C Language



سی زبان میں ، قطار () فنکشن کے لیے استعمال کیا جاتا ہے۔ سیڈو نمبر جنریٹر (PRNG) . رینڈ () فنکشن کے ذریعہ تیار کردہ بے ترتیب نمبر واقعی بے ترتیب نہیں ہیں۔ یہ ایک تسلسل ہے جو وقتا فوقتا دہرایا جاتا ہے ، لیکن مدت اتنی بڑی ہے کہ ہم اسے نظر انداز کر سکتے ہیں۔ کی قطار () فنکشن ایک بیج کی قیمت کو یاد رکھ کر کام کرتا ہے جو اگلے بے ترتیب نمبر اور اگلے نئے بیج کی گنتی کے لیے استعمال ہوتا ہے۔ اس آرٹیکل میں ، ہم تفصیل سے بات کرنے جا رہے ہیں کہ کس طرح بے ترتیب تعداد پیدا کی جا سکتی ہے قطار () فنکشن تو ، آئیے شروع کریں!

ہیڈر فائل:

stdlib.h







نحو:

انٹ رینڈ (باطل)



واپسی اقدار:

یہ فنکشن سیریز میں اگلا سیڈو رینڈم نمبر لوٹاتا ہے۔ نمبر سیریز کی رینج ویلیو 0 اور RAND_MAX کے درمیان ہے۔ RAND_MAX ایک میکرو ہے جس کی وضاحت کی گئی ہے۔ stdlib.h ہیڈر فائل ، جس کی ویلیو زیادہ سے زیادہ ویلیو ہے ، جو رینڈ () فنکشن کے ذریعے لوٹ سکتی ہے۔ RAND_MAX کی قیمت زیادہ ہے لیکن C لائبریریوں کے لحاظ سے 32767 سے کم نہیں۔



// مثال 1. سی

#شامل کریں
#شامل کریں

intمرکزی()
{

intمیں؛

پرنٹ ایف ('10 بے ترتیب نمبر =>۔n')؛

کے لیے(میں=؛میں<10۔؛میں++۔)
{
پرنٹ ایف ('٪ d'، قطار ())؛
}

پرنٹ ایف ('n')؛
واپسی ؛
}


Example1.c میں ، ہم Rand () فنکشن کو لوپ کے ہر تکرار میں کہتے ہیں اور فنکشن کی ریٹرن ویلیو پرنٹ کرتے ہیں۔ رینڈ () فنکشن کی ویلیو ترتیب ہر بار جب ہم پروگرام چلاتے ہیں۔ بطور ڈیفالٹ ، رینڈ فنکشن کا بیج 1 پر سیٹ ہے۔





ہم رینڈ فنکشن کے لیے بیج کا استعمال کر سکتے ہیں سرانڈ () فنکشن بیج صرف ایک بار اور پہلی بار پہلے لگایا جا سکتا ہے۔ قطار () فنکشن کال

srand () فنکشن:

ہیڈر فائل:

stdlib.h



نحو:

int srand (دستخط شدہ int بیج)

دلائل:

یہ فنکشن 1 دلیل لیتا ہے۔

بیج: ایک انٹیجر ویلیو جو سیڈو رینڈم نمبرز کی ایک نئی سیریز کے لیے استعمال ہوتی ہے۔

واپسی اقدار:

کوئی نہیں

// مثال 2. سی

#شامل کریں
#شامل کریں
#شامل کریں

intمرکزی()
{

intمیں؛

سرانڈ ( وقت ())؛

پرنٹ ایف ('10 بے ترتیب نمبر =>۔n')؛

کے لیے(میں=؛میں<10۔؛میں++۔)
{
پرنٹ ایف ('٪ d'، قطار ())؛
}

پرنٹ ایف ('n')؛
واپسی ؛
}


Example2.c میں ، ہم نے srand () فنکشن کو استعمال کیا ہے تاکہ Rand () فنکشن کے ذریعے پیدا ہونے والے بے ترتیب نمبر ترتیب کے ابتدائی بیج کو سیٹ کیا جا سکے۔ جب بھی پروگرام چلتا ہے ، ایک مختلف ترتیب پیدا ہوتی ہے۔ سراینڈ () ، ٹائم (0) فنکشن (میں اعلان کیا گیا۔ time.h ہیڈر فائل) بطور بیج استعمال ہوتا ہے۔ اس بار (0) فنکشن زمانے کے بعد گزرے سیکنڈ کی تعداد لوٹاتا ہے (00:00:00 ، 1 جنوری 1970)۔ اگر آپ پروگرام کو ایک ہی سیکنڈ میں چلاتے ہیں تو یہ اب بھی وہی تسلسل پیدا کرسکتا ہے۔

// مثال 3. سی

#شامل کریں
#شامل کریں
#شامل کریں

intمرکزی()
{

intمیں؛

سرانڈ ( وقت ())؛

پرنٹ ایف (1 اور 10 کے درمیان 10 بے ترتیب نمبر =>۔n')؛

کے لیے(میں=؛میں<10۔؛میں++۔)
{
پرنٹ ایف ('٪ d'،( قطار () ٪10۔) + )؛
}

پرنٹ ایف ('n')؛
واپسی ؛
}


Example3.c میں ہم نے دیکھا ہے کہ 1 اور 10 کے درمیان بے ترتیب نمبر کیسے پیدا کیے جا سکتے ہیں۔

// مثال 4.c

#شامل کریں
#شامل کریں
#شامل کریں

intمرکزی()
{

intمیں،زیادہ سے زیادہ،منٹ؛

پرنٹ ایف ('کم از کم قیمت درج کریں =>')؛
سکینف ('٪ d'، اورمنٹ)؛
پرنٹ ایف ('زیادہ سے زیادہ ویلیو درج کریں =>')؛
سکینف ('٪ d'، اورزیادہ سے زیادہ)؛

اگر(منٹ>زیادہ سے زیادہ)
{
پرنٹ ایف (کم سے کم قیمت زیادہ سے زیادہ قیمت سے زیادہ ہے۔n')؛
واپسی ؛
}

سرانڈ ( وقت ())؛


پرنٹ ایف ('10 بے ترتیب نمبرز٪ d اور٪ d => کے درمیان۔n'،منٹ،زیادہ سے زیادہ)؛

کے لیے(میں=؛میں<10۔؛میں++۔)
{
پرنٹ ایف ('٪ d'،( قطار () ٪ (زیادہ سے زیادہ-منٹ+)) +منٹ)؛
}

پرنٹ ایف ('n')؛
واپسی ؛
}


Example4.c میں ہم نے صارف سے رینج لی ہے اور اس رینج کے اندر بے ترتیب نمبر تیار کیا ہے۔ فارمولا یہ ہے: رینڈ ()٪ (زیادہ سے زیادہ - من +1)) + منٹ۔

// مثال 5.c

#شامل کریں
#شامل کریں
#شامل کریں

intمرکزی()
{

intمیں؛

سرانڈ ( وقت ())؛

پرنٹ ایف (0.0 اور 1.0 => کے درمیان 10 بے ترتیب نمبر۔n')؛

کے لیے(میں=؛میں<10۔؛میں++۔)
{
پرنٹ ایف ('٪ f'،((تیرنا) قطار () /RAND_MAX))؛
}

پرنٹ ایف ('n')؛
واپسی ؛
}


Example5.c میں ، ہم نے دیکھا ہے کہ ہم فلوٹ 0.0 اور 1.0 کے درمیان بے ترتیب نمبر کیسے بنا سکتے ہیں۔ (فلوٹ) رینڈ () /RAND_MAX)

// مثال 6.c

#شامل کریں
#شامل کریں
#شامل کریں

intمرکزی()
{

intمیں؛
تیرنازیادہ سے زیادہ،منٹ؛

پرنٹ ایف ('کم از کم قیمت درج کریں =>')؛
سکینف ('٪ f'، اورمنٹ)؛
پرنٹ ایف ('زیادہ سے زیادہ ویلیو درج کریں =>')؛
سکینف ('٪ f'، اورزیادہ سے زیادہ)؛

اگر(منٹ>زیادہ سے زیادہ)
{
پرنٹ ایف (کم سے کم قیمت زیادہ سے زیادہ قیمت سے زیادہ ہے۔n')؛
واپسی ؛
}

سرانڈ ( وقت ())؛

پرنٹ ایف ('10 بے ترتیب نمبرز٪ f اور٪ f => کے درمیان۔n'،منٹ،زیادہ سے زیادہ)؛

کے لیے(میں=؛میں<10۔؛میں++۔)
{
پرنٹ ایف ('٪ f'،منٹ+ ((تیرنا) قطار () /(RAND_MAX/(زیادہ سے زیادہ-منٹ))))؛
}

پرنٹ ایف ('n')؛
واپسی ؛
}


Example6.c میں ، ہم نے صارف سے رینج لی ہے اور اس رینج کے اندر بے ترتیب نمبر پیدا کیا ہے (دونوں شامل) فارمولا یہ ہے: min + ((float) rand () /(RAND_MAX /(max - min)))

نتیجہ:

اس آرٹیکل میں ، ہم نے سیکھا ہے کہ کس طرح بے ترتیب نمبروں کو استعمال کیا جا سکتا ہے۔ قطار () اور سرانڈ () فنکشن رینڈ فنکشن کے ذریعہ تیار کردہ بے ترتیب نمبروں کے معیار کے بارے میں کوئی ضمانت نہیں ہے ، لیکن یہ آرام دہ اور پرسکون استعمال کے لئے کافی اچھا ہے۔