التلاعب بالنسب في C++ | المجموعة 1 (الحسابية)

تتيح لنا لغة C++ إجراء عمليات الجمع والطرح والضرب والقسمة على الكسور. تمت مناقشة إحدى طرق إضافة النسب في المقالة التالية - برنامج لإضافة كسرين. الطريقة المستخدمة هنا مملة وطويلة، لذا تم تقديم طريقة أفضل في لغة C++ للتغلب على ذلك. ال يسمح لنا ملف الرأس في لغة C++ بمعالجة النسب باستخدام العديد من الأسماء المستعارة للقالب المضمن. تم تقديم ملف الرأس بدءًا من الإصدار C++ 11 وما بعده.

في هذا المقال سوف نناقش معالجة النسب الحسابية في لغة C++ يتم استخدام الوظائف التالية:

  • نسبة_إضافة
  • نسبة_طرح
  • نسبة_الضرب
  • نسبة_تقسيم

1) نسبة_إضافة: يتم استخدام هذا الاسم المستعار للقالب ل إضافة نسبتين وإرجاع النتيجة في أبسط صورة . تقوم بإرجاع الثوابت المكونة من عضوين في أ و هو - هي يدل على البسط والمقام.
2) النسبة_الطرح: يتم استخدام هذا الاسم المستعار للقالب ل طرح نسبتين وإرجاع النتيجة في أبسط صورة . تقوم بإرجاع الثوابت المكونة من عضوين في أ و هو - هي يدل على البسط والمقام. هو - هي يطرح النسبة 2 من النسبة 1

CPP
   // C++ program to demonstrate the working of   // ratio_add and ratio_subtract   #include          #include         // for ratio manipulation   using     namespace     std  ;   int     main  ()   {      // Declaring ratios      typedef     ratio   <  5       4  >     ratio1  ;      typedef     ratio   <  3       4  >     ratio2  ;      // Summing two ratios      typedef     ratio_add   <  ratio1       ratio2  >     sum  ;      // Subtracting two ratios      typedef     ratio_subtract   <  ratio1       ratio2  >     diff  ;      // printing sum of ratios      cout      < <     'The sum of ratios is : '  ;      cout      < <     sum  ::  num      < <     '/'      < <     sum  ::  den  ;      cout      < <     endl  ;      // printing difference of ratios      cout      < <     'The difference of ratios is : '  ;      cout      < <     diff  ::  num      < <     '/'      < <     diff  ::  den  ;      cout      < <     endl  ;      return     0  ;   }   

الإخراج
The sum of ratios is : 2/1 The difference of ratios is : 1/2 

3. النسبة_المضاعفة: يتم استخدام هذا الاسم المستعار للقالب ل ضرب نسبتين وإرجاع النتيجة في أبسط صورة . تقوم بإرجاع الثوابت المكونة من عضوين في أ و هو - هي يدل على البسط والمقام.
4. نسبة_التقسيم: يتم استخدام هذا الاسم المستعار للقالب ل تقسيم نسبتين وإرجاع النتيجة في أبسط صورة . تقوم بإرجاع الثوابت المكونة من عضوين في أ و هو - هي يدل على البسط والمقام. هو - هي يقسم النسبة 1 على النسبة 2

CPP
   // C++ program to demonstrate the working of   // ratio_multiply and ratio_divide   #include          #include         // for ratio manipulation   using     namespace     std  ;   int     main  ()   {      // Declaring ratios      typedef     ratio   <  5       4  >     ratio1  ;      typedef     ratio   <  3       4  >     ratio2  ;      // Multiplying two ratios      typedef     ratio_multiply   <  ratio1       ratio2  >     prod  ;      // Dividing two ratios      typedef     ratio_divide   <  ratio1       ratio2  >     div  ;      // printing product of ratios      cout      < <     'The product of ratios is : '  ;      cout      < <     prod  ::  num      < <     '/'      < <     prod  ::  den  ;      cout      < <     endl  ;      // printing division of ratios      cout      < <     'The division of ratios is : '  ;      cout      < <     div  ::  num      < <     '/'      < <     div  ::  den  ;      cout      < <     endl  ;      return     0  ;   }   

الإخراج
The product of ratios is : 15/16 The division of ratios is : 5/3 

للحصول على المجموعة التالية، راجع هذه المقالة:

  • التلاعب بالنسب في C++ | المجموعة 2 (المقارنة)