Suhteen manipulaatiot C ++: ssa | Set 2 (vertailu)

Edellytys - Suhteen manipulaatiot C ++: ssa | Aseta 1 (aritmeettinen)
C ++: ssa Otsikkotiedoston avulla voimme manipuloida suhteita käyttämällä erilaisia ​​sisäänrakennettuja malli -aliaksia. Otsikkotiedosto esiteltiin C ++ 11: stä eteenpäin. Tässä artikkelissa keskustelemme suhteiden manipulaatioiden vertailusta C ++: ssa. Käytetään seuraavia toimintoja:

  • suhde
  • suhde_not_equal
  • suhde
  • suhde
  • suhde_greater_equal
  • suhde_less_equal

1. Suhde_equal: Tämä malli -alias tarkistaa, onko suhteet sen väitteissä ovat yhtä suuret . Palauttaa totta, jos yhtä suuri muu palauttaa väärän. Se palauttaa a Boolen jäsen vakio 'arvo'
2. Suhde_not_equal: Tämä malli -alias tarkistaa, onko suhteet sen väitteet ovat ei ole yhtä suuri . Palauttaa tosi, ellei yhtä suuri, jos yhtä suuri palauttaa vääriä. Se palauttaa a Boolen jäsen vakio 'arvo' .  

CPP
   // C++ code to demonstrate the working of   // ratio_equal and ratio_not_equal   #include          #include         // for ratio manipulation   using     namespace     std  ;   // Driver Code   int     main  ()   {      // Declaring ratios      typedef     ratio   <  10       100  >     ratio1  ;      typedef     ratio   <  1       10  >     ratio2  ;      // Checking if ratios are equal using ratio_equal      ratio_equal   <  ratio1       ratio2  >::  value      ?     cout      < <     'Ratios are equal'      :     cout      < <     'Ratios are not equal'  ;      cout      < <     endl  ;      // Checking if ratios are not equal using      // ratio_not_equal      ratio_not_equal   <  ratio1       ratio2  >::  value      ?     cout      < <     'Ratios are not equal'      :     cout      < <     'Ratios are equal'  ;      return     0  ;   }   

Tulos
Ratios are equal Ratios are equal 

3. Suhde_greater: Tämä väliaikainen alias tarkistaa suhde1 on suurempi kuin suhde2 . Se Palauttaa Boolen -jäsenen vakio 'arvo' joka palauttaa tosi, jos suhde1 on suurempi kuin suhde2, muuten palauttaa vääriä.
4. Suhde_less: Tämä väliaikainen alias tarkistaa suhde1 on pienempi kuin suhde2 . Se Palauttaa Boolen -jäsenen vakio 'arvo' joka palauttaa tosi, jos suhde1 on pienempi kuin suhde2, muuten palauttaa vääriä. 

CPP
   // C++ code to demonstrate the working of   // ratio_greater and ratio_less   #include          #include         // for ratio manipulation   using     namespace     std  ;   // Driver Code   int     main  ()   {      // Declaring ratios      typedef     ratio   <  10       100  >     ratio1  ;      typedef     ratio   <  11       100  >     ratio2  ;      // Checking if ratio1 is greater than ratio2      // using ratio_greater      ratio_greater   <  ratio1       ratio2  >::  value      ?     cout      < <     'ratio1 is greater than ratio2'      :     cout      < <     'ratio1 is not greater than ratio2'  ;      cout      < <     endl  ;      // Checking if ratio1 is less than ratio2      // using ratio_less      ratio_less   <  ratio1       ratio2  >::  value      ?     cout      < <     'ratio1 is less than ratio2'      :     cout      < <     'ratio1 is not less than ratio2'  ;      cout      < <     endl  ;      return     0  ;   }   

Tulos
ratio1 is not greater than ratio2 ratio1 is less than ratio2 

5. suhde_greater_equal: Tämä väliaikainen alias tarkistaa suhde1 on suurempi tai yhtä suuri kuin suhde2 . Se Palauttaa Boolen -jäsenen vakio 'arvo' joka palauttaa tosi, jos suhde1 on suurempi tai yhtä suuri kuin suhde2, muuten palauttaa vääriä.
6. Suhde_less_equal: Tämä väliaikainen alias tarkistaa suhde1 on vähemmän tai yhtä suuri kuin suhde2 . Se Palauttaa Boolen -jäsenen vakio 'arvo' joka palauttaa tosi, jos suhde1 on vähemmän tai yhtä suuri kuin suhde2, muut palauttaa vääriä. 

CPP
   // C++ code to demonstrate the working of   // ratio_greater_equal and ratio_less_equal   #include          #include         // for ratio manipulation   using     namespace     std  ;   // Driver Code   int     main  ()   {      // Declaring ratios      typedef     ratio   <  10       100  >     ratio1  ;      typedef     ratio   <  1       10  >     ratio2  ;      // Checking if ratio1 is greater or equal than ratio2      // using ratio_greater_equal      ratio_greater_equal   <  ratio1       ratio2  >::  value      ?     cout      < <     'ratio1 is greater or equal than ratio2'      :     cout      < <     'ratio1 is not greater or equal than '      'ratio2'  ;      cout      < <     endl  ;      // Checking if ratio1 is less or equal than ratio2      // using ratio_less_equal      ratio_less_equal   <  ratio1       ratio2  >::  value      ?     cout      < <     'ratio1 is less or equal than ratio2'      :     cout      < <     'ratio1 is not less or equal than ratio2'  ;      cout      < <     endl  ;      return     0  ;   }   

Tulos
ratio1 is greater or equal than ratio2 ratio1 is less or equal than ratio2