Manipulările raportului în C ++ | Setul 1 (aritmetică)

C ++ ne permite să efectuăm înmulțirea de scădere a scăderii și operațiunile de divizare pe fracții. O metodă de adăugare a raporturilor este discutată în articolul următor - Program pentru a adăuga două fracții. Metoda folosită aici este obositoare și lungă, astfel încât să depășească faptul că a fost introdusă o metodă mai bună în C ++. Fișierul antet în C ++ ne permite să manipulăm raporturi folosind diverse alias de șabloane încorporate. Fișierul antet a fost introdus de la C ++ 11 înainte.

În acest articol vom discuta despre Manipulările raportului aritmetic în C ++. Se folosesc următoarele funcții:

  • Ratio_add
  • RATIO_SUBTRACT
  • Ratio_multiply
  • RATIO_DIVIDE

1) RATIO_ADD: Acest șablon alias este obișnuit Adăugați două raporturi și returnează duce la cea mai simplă formă . Returnează constante de doi membri în a şi ea denotând numărătorul și numitorul.
2) RATIO_SUBTRACT: Acest șablon alias este obișnuit scădeți două raporturi și returnează duce la cea mai simplă formă . Returnează constante de doi membri în a şi ea denotând numărătorul și numitorul. Ea scade raportul2 din raport1

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  ;   }   

Ieșire
The sum of ratios is : 2/1 The difference of ratios is : 1/2 

3. Ratio_Multiply: Acest șablon alias este obișnuit Înmulțiți două raporturi și returnează duce la cea mai simplă formă . Returnează constante de doi membri în a şi ea denotând numărătorul și numitorul.
4. RATIO_DIVIDE: Acest șablon alias este obișnuit Împărțiți două raporturi și returnează duce la cea mai simplă formă . Returnează constante de doi membri în a şi ea denotând numărătorul și numitorul. Ea Împărțiți raportul1 prin raportul2

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  ;   }   

Ieșire
The product of ratios is : 15/16 The division of ratios is : 5/3 

Pentru următorul set, consultați acest articol:

  • Manipulările raportului în C ++ | Setul 2 (comparație)