rand () C மொழியில் செயல்பாடு

Rand Function C Language



சி மொழியில், தி வரிசை () செயல்பாடு பயன்படுத்தப்படுகிறது போலி எண் ஜெனரேட்டர் (பிஆர்என்ஜி) . ரேண்ட் () செயல்பாட்டால் உருவாக்கப்பட்ட சீரற்ற எண்கள் உண்மையில் சீரற்றவை அல்ல. இது ஒரு தொடர் வரிசையாகும், ஆனால் காலம் மிகப் பெரியது, அதை நாம் புறக்கணிக்க முடியும். தி வரிசை () அடுத்த சீரற்ற எண் மற்றும் அடுத்த புதிய விதை ஆகியவற்றைக் கணக்கிடப் பயன்படுத்தப்படும் ஒரு விதை மதிப்பை நினைவில் வைத்து செயல்படுகிறது. இந்த கட்டுரையில், சீரற்ற எண்களை எவ்வாறு பயன்படுத்தி உருவாக்க முடியும் என்பதை விரிவாக விவாதிக்க உள்ளோம் வரிசை () செயல்பாடு எனவே, ஆரம்பிக்கலாம்!

தலைப்பு கோப்பு:

stdlib.h







தொடரியல்:

int rand (வெற்றிடம்)



திரும்ப மதிப்புகள்:

இந்த செயல்பாடு தொடரின் அடுத்த போலி-சீரற்ற எண்ணை வழங்குகிறது. எண் தொடரின் வரம்பு மதிப்பு 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 இல், rand () செயல்பாட்டால் உருவாக்கப்பட்ட சீரற்ற எண் வரிசையின் ஆரம்ப விதையை அமைக்க நாம் srand () செயல்பாட்டைப் பயன்படுத்தியுள்ளோம். ஒவ்வொரு முறையும் நிரல் இயங்கும் போது, ​​ஒரு வித்தியாசமான வரிசை உருவாக்கப்படும். ஸ்ராண்ட் (), நேரம் (0) செயல்பாடு (இல் அறிவிக்கப்பட்டது நேரம். ம தலைப்பு கோப்பு) ஒரு விதையாக பயன்படுத்தப்படுகிறது. இந்த முறை (0) செயல்பாடு சகாப்தத்திலிருந்து கடந்த வினாடிகளின் எண்ணிக்கையை வழங்குகிறது (00:00:00, ஜனவரி 1, 1970). நீங்கள் அதே வினாடியில் நிரலை இயக்கினால் இது இன்னும் அதே காட்சிகளை உருவாக்கலாம்.

// உதாரணம் 3. சி

#சேர்க்கிறது
#சேர்க்கிறது
#சேர்க்கிறது

intமுக்கிய()
{

intநான்;

srand ( நேரம் (0));

printf (1 மற்றும் 10 க்கு இடையேயான சீரற்ற எண்கள் => n');

க்கான(நான்=0;நான்<10;நான்++)
{
printf ('%d',( வரிசை () %10) + 1);
}

printf (' n');
திரும்ப 0;
}


Example3.c இல் சீரற்ற எண்கள் 1 மற்றும் 10 க்கு இடையில் எவ்வாறு உருவாக்கப்படும் என்று பார்த்தோம்.

// உதாரணம் 4. சி

#சேர்க்கிறது
#சேர்க்கிறது
#சேர்க்கிறது

intமுக்கிய()
{

intநான்,அதிகபட்சம்,நிமிடம்;

printf ('குறைந்தபட்ச மதிப்பை உள்ளிடவும் =>');
ஸ்கேன்ஃப் ('%d', &நிமிடம்);
printf ('அதிகபட்ச மதிப்பை உள்ளிடவும் =>');
ஸ்கேன்ஃப் ('%d', &அதிகபட்சம்);

என்றால்(நிமிடம்>அதிகபட்சம்)
{
printf (குறைந்தபட்ச மதிப்பு அதிகபட்ச மதிப்பை விட அதிகம் n');
திரும்ப 0;
}

srand ( நேரம் (0));


printf ('10 %d மற்றும் %d => இடையே உள்ள சீரற்ற எண்கள் n',நிமிடம்,அதிகபட்சம்);

க்கான(நான்=0;நான்<10;நான்++)
{
printf ('%d',( வரிசை () % (அதிகபட்சம்-நிமிடம்+1)) +நிமிடம்);
}

printf (' n');
திரும்ப 0;
}


Example4.c இல் நாங்கள் பயனரிடமிருந்து வரம்பை எடுத்து இந்த வரம்பிற்குள் ஒரு சீரற்ற எண்ணை உருவாக்கியுள்ளோம். சூத்திரம்: ரேண்ட் ()% (அதிகபட்சம் - நிமிடம் +1)) + நிமிடம்

// உதாரணம் 5. சி

#சேர்க்கிறது
#சேர்க்கிறது
#சேர்க்கிறது

intமுக்கிய()
{

intநான்;

srand ( நேரம் (0));

printf (0.010 மற்றும் 1.0 => இடையே உள்ள சீரற்ற எண்கள் n');

க்கான(நான்=0;நான்<10;நான்++)
{
printf ('%f',((மிதக்க) வரிசை () /RAND_MAX));
}

printf (' n');
திரும்ப 0;
}


Example5.c இல், மிதவை 0.0 மற்றும் 1.0 க்கு இடையில் சீரற்ற எண்களை எவ்வாறு உருவாக்குவது என்பதை நாங்கள் பார்த்தோம். (மிதவை) ரேண்ட் () /RAND_MAX)

// உதாரணம் 6. சி

#சேர்க்கிறது
#சேர்க்கிறது
#சேர்க்கிறது

intமுக்கிய()
{

intநான்;
மிதக்கஅதிகபட்சம்,நிமிடம்;

printf ('குறைந்தபட்ச மதிப்பை உள்ளிடவும் =>');
ஸ்கேன்ஃப் ('%f', &நிமிடம்);
printf ('அதிகபட்ச மதிப்பை உள்ளிடவும் =>');
ஸ்கேன்ஃப் ('%f', &அதிகபட்சம்);

என்றால்(நிமிடம்>அதிகபட்சம்)
{
printf (குறைந்தபட்ச மதிப்பு அதிகபட்ச மதிப்பை விட அதிகம் n');
திரும்ப 0;
}

srand ( நேரம் (0));

printf ('10 f மற்றும் %f => இடையே உள்ள சீரற்ற எண்கள் n',நிமிடம்,அதிகபட்சம்);

க்கான(நான்=0;நான்<10;நான்++)
{
printf ('%f',நிமிடம்+ ((மிதக்க) வரிசை () /(RAND_MAX/(அதிகபட்சம்-நிமிடம்))));
}

printf (' n');
திரும்ப 0;
}


Example6.c இல், நாங்கள் பயனரிடமிருந்து வரம்பை எடுத்து இந்த வரம்பிற்குள் ஒரு சீரற்ற எண்ணை உருவாக்கியுள்ளோம் (இரண்டையும் உள்ளடக்கியது). சூத்திரம்: நிமி + ((மிதவை) ரேண்ட் () /(RAND_MAX /(அதிகபட்சம் - நிமிடம்)))

முடிவுரை:

இந்த கட்டுரையில், சீரற்ற எண்களை எவ்வாறு பயன்படுத்தி உருவாக்க முடியும் என்பதை நாங்கள் கற்றுக்கொண்டோம் வரிசை () மற்றும் srand () செயல்பாடு ரேண்ட் செயல்பாட்டால் உருவாக்கப்பட்ட சீரற்ற எண்களின் தரம் குறித்து எந்த உத்தரவாதமும் இல்லை, ஆனால் இது சாதாரண பயன்பாட்டிற்கு போதுமானது.