كيفية استخدام الدالة Upper_bound() في لغة C++

Kyfyt Astkhdam Aldalt Upper Bound Fy Lght C



يمكن إنشاء مجموعة متنوعة من البرامج، بما في ذلك الألعاب والرسومات وخوادم الويب والمزيد، باستخدام لغة البرمجة C++. ومع ذلك، قد نحتاج في بعض الأحيان إلى إجراء بعض العمليات على البيانات الموجودة في برامجنا، مثل البحث أو الفرز أو العثور على القيمة القصوى أو الدنيا بين مجموعة من العناصر. إحدى الوظائف التي يمكن استخدامها للعثور على الحد الأعلى للقيمة في نطاق مفروز من العناصر هي Upper_bound().

ما هي وظيفة Upper_bound() في C++

الدالة Upper_bound() في لغة C++ هي دالة تأخذ نطاقًا مفروزًا من العناصر وقيمة كوسيطات وترجع مكررًا يشير إلى العنصر الأول في النطاق الأكبر من القيمة.







لديها نوعين مختلفين من الحجج:



عدد Upper_bound ( على واحد. أولاً ، على واحد. آخر ، قيمة )

التكرارات التي تحدد نطاق العناصر التي سيتم فحصها هي الأولى والأخيرة. يحتوي الفاصل الزمني المستخدم على جميع العناصر من العنصر الأول حتى النهاية ولكنه لا يشمل العنصر المشار إليه بالآخر. القيمة هي القيمة التي سيتم مقارنة العناصر بها.



عدد Upper_bound ( على واحد. أولاً ، على واحد. آخر , القيمة، مقارنة شركات )

في هذه الحالة، تنتج شركات الدالة الثنائية قيمة يمكن تحويلها إلى منطقي وتقبل معلمتين من نفس النوع مثل عناصر النطاق. إذا كان هناك شرط معين يفرض أن الوسيطة الأولى ليست أعلى من الثانية، فيجب أن تُرجع الدالة نتيجة صحيحة وإذا لم تكن كذلك، فيجب أن تُرجع خطأ.





كيفية استخدام الدالة Upper_bound() في لغة C++

يمكن استخدام الدالة Upper_bound() للعثور على الحد الأعلى لقيمة ما في نطاق مفروز من العناصر في مواقف مختلفة. على سبيل المثال، يمكننا استخدامه للعثور على موضع عنصر في مصفوفة أو متجه مفروز، أو للعثور على العنصر الأكبر التالي في مجموعة أو خريطة. فيما يلي بعض الأمثلة حول كيفية استخدام الدالة Upper_bound() في لغة C++:

المثال 1: استخدام الدالة Upper_bound()‎ للعثور على موضع عنصر في مصفوفة مرتبة

فيما يلي مثال يستخدم الدالة Upper_bound() للعثور على موضع عنصر في مصفوفة مرتبة من الأعداد الصحيحة وعرضه على الشاشة:



#تشمل

#تتضمن

استخدام مساحة الاسم الأمراض المنقولة جنسيا ;

كثافة العمليات رئيسي ( )

{

كثافة العمليات مجموعة مصفوفة [ ] = { خمسة عشر , 35 , أربعة خمسة , 55 , 65 } ;

كثافة العمليات أ = حجم ( مجموعة مصفوفة ) / حجم ( مجموعة مصفوفة [ 0 ] ) ;

cout << 'المصفوفة تحتوي على:' ;

ل ( كثافة العمليات أنا = 0 ; أنا < أ ; أنا ++ )

cout << مجموعة مصفوفة [ أنا ] << ' ' ;

cout << ' ' ;

كثافة العمليات ب = أربعة خمسة ; // أعلن عن قيمة وقم بتهيئتها

كثافة العمليات * ص = الحد الاعلى ( مصفوفة، مصفوفة + أ، ب ) ;

cout << 'الحد الأعلى ل' << ب << '' في الموضع: '' << ( ص - مجموعة مصفوفة ) << ' ' ; // اعرض الموضع باستخدام المؤشر الحسابي

يعود 0 ;

}

أولاً يقوم البرنامج بتعريف ملفات الرأس الضرورية والمصفوفة التي تحتوي على أرقام ثم يستخدم الدالة sizeof() للحصول على حجم المصفوفة. بعد ذلك، يتم استخدام حلقة for لعرض عناصر المصفوفة ثم يتم الإعلان عن عدد صحيح يتم تحديد موضعه في المصفوفة باستخدام المؤشر ويتم عرضه في الإخراج:

المثال 2: استخدام الدالة Upper_bound() للعثور على العنصر الأكبر التالي في مجموعة

فيما يلي مثال للتعليمات البرمجية التي تستخدم الدالة Upper_bound() للعثور على العنصر التالي الأكبر من قيمة معينة في مجموعة من الأعداد الصحيحة وعرضها على الشاشة:

#تشمل

#تتضمن

#تشمل <ناقل>

استخدام مساحة الاسم الأمراض المنقولة جنسيا ;

كثافة العمليات رئيسي ( )

{

تعيين < كثافة العمليات > على واحد = { خمسة عشر , 25 , 35 , أربعة خمسة , 55 } ; // الإعلان عن مجموعة من الأعداد الصحيحة وتهيئتها

cout << 'الأرقام المعطاة:' ;

ل ( آلي أ : على واحد ) // عرض عناصر المجموعة باستخدام حلقة for المستندة إلى النطاق

cout << أ << ' ' ;

cout << ' ' ;

كثافة العمليات أ = أربعة خمسة ; // أعلن عن قيمة وقم بتهيئتها

آلي هو - هي = الحد الاعلى ( على واحد. يبدأ ( ) ، على واحد. نهاية ( ) ، أ ) ; // ابحث عن الحد الأعلى لـ x في المجموعة باستخدام Upper_bound()

لو ( هو - هي ! = على واحد. نهاية ( ) ) // تحقق مما إذا كان المكرر صالحًا

cout << 'الرقم الأعلى التالي من' << أ << ' يكون ' << * هو - هي << ' ' ; // عرض العنصر باستخدام عامل عدم المرجعية

آخر

cout << 'ليس هناك رقم أعلى من' << أ << ' ' ; // عرض رسالة إذا لم يتم العثور على هذا العنصر

يعود 0 ;

}

أولاً، يحدد الكود ملفات الرأس الضرورية ثم يتم تعريف متجه من خمسة عناصر، وبعد ذلك يتم عرض المتجه باستخدام الكلمة الأساسية auto حيث يمكنه تعيين نوع بيانات العناصر تلقائيًا. بعد ذلك يتم الإعلان عن متغير له قيمة 45 والذي يتم بعد ذلك مقارنته بالمتجه المحدد باستخدام الدالة Upper_bound() وبعد ذلك يتم عرض نتيجة المقارنة:

خاتمة

الدالة Upper_bound() هي دالة تُرجع مكررًا يشير إلى العنصر الأول في نطاق مفروز أكبر من قيمة معينة. لتحديد الرقم الأول في فاصل زمني أكبر من أو يساوي رقمًا محددًا، استخدم الدالة Upper_bound() في لغة C++. يمكن أن يكون هذا مفيدًا لمهام مثل العثور على الرقم التالي الأعلى في القائمة أو البحث عن العنصر الأول في مصفوفة مفروزة أكبر من عتبة معينة.