इस लेख में, हम C++ STL में काम कर रहे, वाक्य रचना, और अनुपात_समान () फ़ंक्शन के उदाहरणों पर चर्चा करेंगे।
अनुपात_समान टेम्पलेट क्या है?
Ratio_equal टेम्पलेट C++ STL में इनबिल्ट है, जिसे <अनुपात> हेडर फ़ाइल में परिभाषित किया गया है। अनुपात_समान का उपयोग दो अनुपातों की तुलना करने के लिए किया जाता है। यह टेम्प्लेट दो मापदंडों को स्वीकार करता है और जांचता है कि दिए गए अनुपात बराबर हैं या नहीं। जैसे हमारे पास दो अनुपात हैं, 1/2 और 3/6 जो समान हैं जब हम उन्हें सरल करते हैं लेकिन संख्याएँ समान नहीं होती हैं इसलिए C++ में एक इनबिल्ट टेम्प्लेट है जो यह जाँचने के लिए है कि क्या दो अनुपात समान हैं या नहीं और यदि वे समान हैं तो सही हैं। झूठा।
इसलिए, जब हम दो अनुपातों की समानता की जांच करना चाहते हैं, तो C++ में संपूर्ण तर्क लिखने के बजाय हम दिए गए टेम्पलेट का उपयोग कर सकते हैं जो कोडिंग को आसान बनाता है।
सिंटैक्स
template <class ratio1, class ratio2> ratio_equal;
पैरामीटर
टेम्प्लेट निम्नलिखित पैरामीटर को स्वीकार करता है -
-
अनुपात1, अनुपात2 - ये दो अनुपात हैं जिन्हें हम जांचना चाहते हैं कि वे बराबर हैं या नहीं।
रिटर्न वैल्यू
जब दो अनुपात बराबर होते हैं तो यह फ़ंक्शन सही हो जाता है अन्यथा फ़ंक्शन गलत हो जाता है।
इनपुट
typedef ratio<3, 6> ratio1; typedef ratio<1, 2> ratio2; ratio_equal<ratio1, ratio2>::value;
आउटपुट
true
इनपुट
typedef ratio<3, 9> ratio1; typedef ratio<1, 2>ratio2; ratio_equal<ratio1, ratio2>::value;
आउटपुट
false
उदाहरण
#include <iostream> #include <ratio> using namespace std; int main(){ typedef ratio<2, 5> R_1; typedef ratio<10, 25> R_2; //check whether ratios are equal or not if (ratio_equal<R_1, R_2>::value) cout<<"Ratio 1 and Ratio 2 are equal"; else cout<<"Ratio 1 and Ratio 2 aren't equal"; return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Ratio 1 and Ratio 2 are equal
उदाहरण
#include <iostream> #include <ratio> using namespace std; int main(){ typedef ratio<2, 5> R_1; typedef ratio<1, 3> R_2; //check whether ratios are equal or not if (ratio_equal<R_1, R_2>::value) cout<<"Ratio 1 and Ratio 2 are equal"; else cout<<"Ratio 1 and Ratio 2 aren't equal"; return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Ratio 1 and Ratio 2 aren’t equal
उदाहरण
Code-3: //if we try to enter 0 in the denominator then the output will be #include <iostream> #include <ratio> using namespace std; int main(){ typedef ratio<2, 5> R_1; typedef ratio<1, 0> R_2; //check whether ratios are equal or not if (ratio_equal<R_1, R_2>::value) cout<<"Ratio 1 and Ratio 2 are equal"; else cout<<"Ratio 1 and Ratio 2 aren't equal"; return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
/usr/include/c++/6/ratio:265:7: error: static assertion failed: denominator cannot be zero static_assert(_Den != 0, "denominator cannot be zero");