Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 16.42 KB | None | 0 0
  1. int main(){
  2.   Rational r;
  3.   assert(r.n() == 0);
  4.   assert(r.d() == 1);
  5.   std::cout << r << std::endl;    //0
  6.  
  7.   r = 3;
  8.   assert(r.n() == 3);
  9.   assert(r.d() == 1);
  10.   std::cout << r << std::endl;    //3
  11.  
  12.   r = -4;
  13.   assert(r.n() == -4);
  14.   assert(r.d() == 1);
  15.   std::cout << r << std::endl;    //-4
  16.  
  17.   r = 0;
  18.   assert(r.n() == 0);
  19.   assert(r.d() == 1);
  20.  
  21.   r *= 3;
  22.   assert(r.n() == 0);
  23.   assert(r.d() == 1);
  24.  
  25.   r += 12;
  26.   assert(r.n() == 12);
  27.   assert(r.d() == 1);
  28.   std::cout << r << std::endl;    //12
  29.  
  30.   r /= 4;
  31.   assert(r.n() == 3);
  32.   assert(r.d() == 1);
  33.   std::cout << r << std::endl;    //3
  34.  
  35.   r /= -3;
  36.   std::cout << r.n() << " " << r.d() << std::endl;
  37.   assert(r.n() == -1);
  38.   assert(r.d() == 1);
  39.   std::cout << r << std::endl;    //-1
  40.  
  41.   r /= -3;
  42.   assert(r.n() == 1);
  43.   assert(r.d() == 3);
  44.   std::cout << r << std::endl;    //1/3
  45.  
  46.   r -= r;
  47.   assert(r.n() == 0);
  48.   assert(r.d() == 1);
  49.   std::cout << r << std::endl;    //0
  50.  
  51.   assert(Rational(1, 45).n() == 1);
  52.   assert(Rational(0, 45).n() == 0);
  53.   assert(Rational(1, 45).d() == 45);
  54.   assert(Rational(-3, 45).n() == -1);
  55.   assert(Rational(-125, 45).n() == -25);
  56.   assert(Rational(1, 0).isNumber() == false);
  57.   assert(Rational(-23, 0).isNumber() == false);
  58.   assert(Rational(0, 0).isNumber() == false);
  59.   assert(Rational(24, 0).isNumber() == false);
  60.   std::cout << Rational(15, -45).n() <<  std::endl;
  61.   assert(Rational(15, -45).n() == -1);
  62.   assert(Rational(15, -45).d() == 3);
  63.   assert(Rational(15, -45).isNumber());
  64.   assert(Rational(0, 123456789).isNumber());
  65.  
  66.   r = Rational(2,10);
  67.   assert(r * 5 == 1);
  68.   std::cout << r << std::endl;    //1/5
  69.   r = Rational(3,-9);
  70.   assert(r * 6 == -2);
  71.   std::cout << r << std::endl;    //-1/3
  72.   r = Rational(4,2);
  73.   assert(r / -2 == -1);
  74.   std::cout << r << std::endl;    //2
  75.   r = Rational(-7,-2);
  76.   assert((r / 7) * 4 == 2);
  77.   std::cout << r << std::endl;    //3+1/2
  78.  
  79.  
  80.   r = Rational(26, -8);
  81.   std::cout << r << std::endl;    //-3-1/4 (???)
  82.   Rational p(-314, 100);
  83.   assert(p > r);
  84.   assert(r < p);
  85.   assert(p == p);int main(){
  86.     Rational r;
  87.     assert(r.n() == 0);
  88.     assert(r.d() == 1);
  89.     std::cout << r << std::endl;    //0
  90.    
  91.     r = 3;
  92.     assert(r.n() == 3);
  93.     assert(r.d() == 1);
  94.     std::cout << r << std::endl;    //3
  95.    
  96.     r = -4;
  97.     assert(r.n() == -4);
  98.     assert(r.d() == 1);
  99.     std::cout << r << std::endl;    //-4
  100.    
  101.     r = 0;
  102.     assert(r.n() == 0);
  103.     assert(r.d() == 1);
  104.    
  105.     r *= 3;
  106.     assert(r.n() == 0);
  107.     assert(r.d() == 1);
  108.    
  109.     r += 12;
  110.     assert(r.n() == 12);
  111.     assert(r.d() == 1);
  112.     std::cout << r << std::endl;    //12
  113.    
  114.     r /= 4;
  115.     assert(r.n() == 3);
  116.     assert(r.d() == 1);
  117.     std::cout << r << std::endl;    //3
  118.    
  119.     r /= -3;
  120.     std::cout << r.n() << " " << r.d() << std::endl;
  121.     assert(r.n() == -1);
  122.     assert(r.d() == 1);
  123.     std::cout << r << std::endl;    //-1
  124.    
  125.     r /= -3;
  126.     assert(r.n() == 1);
  127.     assert(r.d() == 3);
  128.     std::cout << r << std::endl;    //1/3
  129.    
  130.     r -= r;
  131.     assert(r.n() == 0);
  132.     assert(r.d() == 1);
  133.     std::cout << r << std::endl;    //0
  134.    
  135.     assert(Rational(1, 45).n() == 1);
  136.     assert(Rational(0, 45).n() == 0);
  137.     assert(Rational(1, 45).d() == 45);
  138.     assert(Rational(-3, 45).n() == -1);
  139.     assert(Rational(-125, 45).n() == -25);
  140.     assert(Rational(1, 0).isNumber() == false);
  141.     assert(Rational(-23, 0).isNumber() == false);
  142.     assert(Rational(0, 0).isNumber() == false);
  143.     assert(Rational(24, 0).isNumber() == false);
  144.     std::cout << Rational(15, -45).n() <<  std::endl;
  145.     assert(Rational(15, -45).n() == -1);
  146.     assert(Rational(15, -45).d() == 3);
  147.     assert(Rational(15, -45).isNumber());
  148.     assert(Rational(0, 123456789).isNumber());
  149.    
  150.     r = Rational(2,10);
  151.     assert(r * 5 == 1);
  152.     std::cout << r << std::endl;    //1/5
  153.     r = Rational(3,-9);
  154.     assert(r * 6 == -2);
  155.     std::cout << r << std::endl;    //-1/3
  156.     r = Rational(4,2);
  157.     assert(r / -2 == -1);
  158.     std::cout << r << std::endl;    //2
  159.     r = Rational(-7,-2);
  160.     assert((r / 7) * 4 == 2);
  161.     std::cout << r << std::endl;    //3+1/2
  162.    
  163.    
  164.     r = Rational(26, -8);
  165.     std::cout << r << std::endl;    //-3-1/4 (???)
  166.     Rational p(-314, 100);
  167.     assert(p > r);
  168.     assert(r < p);
  169.     assert(p == p);
  170.     assert(p != r);
  171.     assert(p >= r);
  172.     assert(r <= p);
  173.     assert(p > -4);
  174.     assert(p >= p);
  175.     assert(-2 > r);
  176.     assert(r < -2);
  177.     assert(-6 <= r);
  178.     assert(p != 3);
  179.     assert(9/Rational(3) == 3);
  180.    
  181.     r = Rational(-1, 2);
  182.     p = Rational(2, 19);
  183.     assert(p > r);
  184.     assert(!(p < r));
  185.     assert(!(p == r));
  186.     assert(p != r);
  187.     assert(p >= r);
  188.     assert(!(p <= r));
  189.    
  190.     assert(!(r > p));
  191.     assert((r < p));
  192.     assert(!(r == p));
  193.     assert(r != p);
  194.     assert(!(r >= p));
  195.     assert((r <= p));
  196.     p = Rational(-2, 17);
  197.     assert(p > r);
  198.     assert(!(p < r));
  199.     assert(!(p == r));
  200.     assert(p != r);
  201.     assert(p >= r);
  202.     assert(!(p <= r));
  203.    
  204.     assert(!(r > p));
  205.     assert((r < p));
  206.     assert(!(r == p));
  207.     assert(r != p);
  208.     assert(!(r >= p));
  209.     assert((r <= p));
  210.    
  211.     r = Rational(1, 14);
  212.     p = Rational(2, 15);
  213.    
  214.     assert(!(r > p));
  215.     assert((r < p));
  216.     assert(!(r == p));
  217.     assert(r != p);
  218.     assert(!(r >= p));
  219.     assert((r <= p));
  220.    
  221.    
  222.     r = Rational(-1, 14);
  223.     p = Rational(1, -14);
  224.    
  225.     assert(!(r > p));
  226.     assert(!(r < p));
  227.     assert((r == p));
  228.     assert(!(r != p));
  229.     assert((r >= p));
  230.     assert((r <= p));
  231.     p *= -1;
  232.     assert(r < 0);
  233.     assert(r <= 0);
  234.     assert(r != 0);
  235.     assert(!(r == 0));
  236.     assert(!(p < 0));
  237.     assert(!(p <= 0));
  238.     assert(p != 0);
  239.     assert(!(p == 0));
  240.     assert(0 < p);
  241.     assert(0 <= p);
  242.     std::cout<<p;
  243.     assert(0 != p);
  244.     assert(!(0 == p));
  245.     assert(!(0 < r));
  246.     assert(!(0 <= r));
  247.     assert(0 != r);
  248.     assert(!(0 == r));
  249.    
  250.    
  251.     r = 1;
  252.     std::cout << r << std::endl;    //1
  253.     r /= 0;
  254.     assert(!r.isNumber());
  255.     assert(!(r < r));
  256.     assert(!(r <= r));
  257.     assert(!(r > r));
  258.     assert(!(r >= r));
  259.     assert(!(r == r));
  260.     assert(!(r != r));
  261.     assert(!(r < 1));
  262.     assert(!(r <= 1));
  263.     assert(!(r > 1));
  264.     assert(!(r >= 1));
  265.     assert(!(r == 1));
  266.     assert(!(r != 1));
  267.     assert(!(1 < r));
  268.     assert(!(1 <= r));
  269.     assert(!(1 > r));
  270.     assert(!(1 >= r));
  271.     assert(!(1 == r));
  272.     assert(!(1 != r));
  273.     assert(!(r < -1));
  274.     assert(!(r <= -1));
  275.     assert(!(r > -1));
  276.     assert(!(r >= -1));
  277.     assert(!(r == -1));
  278.     assert(!(r != -1));
  279.     assert(!(-1 < r));
  280.     assert(!(-1 <= r));
  281.     assert(!(-1 > r));
  282.     assert(!(-1 >= r));
  283.     assert(!(-1 == r));
  284.     assert(!(-1 != r));
  285.     assert(!(r < p));
  286.     assert(!(r <= p));
  287.     assert(!(r > p));
  288.     assert(!(r >= p));
  289.     assert(!(r == p));
  290.     //NaN
  291.    
  292.     assert(!(r + p).isNumber());
  293.     assert(!(r - p).isNumber());
  294.     assert(!(r * p).isNumber());
  295.     assert(!(r / p).isNumber());
  296.     assert(!(-r).isNumber());
  297.     assert(!(r += p).isNumber());
  298.     assert(!(r -= p).isNumber());
  299.     assert(!(r *= p).isNumber());
  300.     assert(!(r /= p).isNumber());
  301.     assert(!(r + 1).isNumber());
  302.     assert(!(r - 2).isNumber());
  303.     assert(!(r * 3).isNumber());
  304.     assert(!(r / 4).isNumber());
  305.     assert(!(r += 5).isNumber());
  306.     assert(!(r -= 6).isNumber());
  307.     assert(!(r /= 7).isNumber());
  308.     assert(!(r *= 8).isNumber());
  309.     assert(!(1 + r).isNumber());
  310.    
  311.    
  312.     assert(!(p + r).isNumber());
  313.     assert(!(p - r).isNumber());
  314.     assert(!(p * r).isNumber());
  315.    
  316.     assert(!(p / r).isNumber());
  317.     assert(!(-r).isNumber());
  318.     Rational g;
  319.     assert(!((g = Rational(1)) += r).isNumber());
  320.     assert(!((g = Rational(1)) -= r).isNumber());
  321.     assert(!((g = Rational(1)) *= r).isNumber());
  322.     assert(!((g = Rational(1)) /= r).isNumber());
  323.     assert(!(1 + r).isNumber());
  324.     assert(!(2 - r).isNumber());
  325.     assert(!(3 * r).isNumber());
  326.     assert(!(4 / r).isNumber());
  327.     assert(!(1 + r).isNumber());
  328.    
  329.     r = Rational(0, 1);
  330.     assert(!(1 / r).isNumber());
  331.     assert(!(p / r).isNumber());
  332.     assert(!(r / r).isNumber());
  333.    
  334.     assert(Zero() == 0);
  335.     assert(!(Zero() > 0));
  336.     assert(Zero() >= 0);
  337.     assert(!(Zero() < 0));
  338.     assert((Zero() <= 0));
  339.     assert(!(Zero() != 0));
  340.    
  341.     assert(!(Zero() == 1));
  342.     assert(!(Zero() > 1));
  343.     assert(!(Zero() >= 1));
  344.     assert((Zero() < 1));
  345.     assert((Zero() <= 1));
  346.     assert((Zero() != 1));
  347.    
  348.     assert(One() == 1);
  349.     assert(One() > 0);
  350.     assert(One() >= 0);
  351.     assert(!(One() < 0));
  352.     assert(!(One() <= 0));
  353.     assert(One() != 0);
  354.    
  355.     Rational e;
  356.     assert((Rational(1,2) + Rational(1,3)) == Rational(5,6));
  357.     assert((Rational(4,9) - Rational(1,3)) == Rational(1,9));
  358.    
  359.     assert((Rational(1,2) / Rational(1,3)) == Rational(3,2));
  360.     assert((Rational(7,2) * Rational(1,3)) == Rational(7,6));
  361.     assert((Rational(10,15) + Rational(1,3)) == Rational(1));
  362.     assert((Rational(2) + Rational(1,3)) == Rational(7, 3));
  363.     assert((Rational(-2, 9) * Rational(3, 2)) == Rational(-1, 3));
  364.     assert((Rational(5,2) / Rational(1,2)) == Rational(5));
  365.     assert(((e = Rational(7,60)) += Rational(1,3)) == Rational(27,60));
  366.     assert(((e = Rational(15,124)) -= Rational(1,5)) == Rational(-49,620));
  367.     assert(((e = Rational(14,39)) *= Rational(0, 121)) == Rational(0));
  368.     assert(((e = Rational(1,2)) /= Rational(17,2)) == Rational(1,17));
  369.    
  370.    
  371.     assert((13 + Rational(1,3)) == Rational(40,3));
  372.     assert((13 - Rational(1,3)) == Rational(38,3));
  373.     assert((-4 * Rational(-1,3)) == Rational(4,3));
  374.     assert((18 / Rational(3,7)) == Rational(42));
  375.     assert(((e = Rational(1,3)) += 13) == Rational(40,3));
  376.     assert(((e = Rational(1,3)) -= 13) == Rational(-38,3));
  377.     assert(((e = Rational(6)) *= 2) == Rational(12));
  378.     assert(((e = Rational(6)) /= 2) == Rational(3));
  379.     assert(((e = Rational(1,3)) + 13) == Rational(40,3));
  380.     assert(((e = Rational(1,3)) - 13) == Rational(-38,3));
  381.     assert(((e = Rational(6)) * 2) == Rational(12));
  382.     assert(((e = Rational(6)) / 2) == Rational(3));
  383.    
  384.     r = Rational(17, 13);
  385.     assert(r);
  386.     assert(Rational(7));
  387.     assert(Rational(-13));
  388.     assert(Rational(1));
  389.     assert(Rational(7,2));
  390.     assert(Rational(3,4));
  391.     assert(Rational(17,17));
  392.     assert(!Rational(0,0));
  393.     assert(!Rational(0,17));
  394.    
  395.     assert(!Rational(17,0));
  396.     std::cout<<"OK"<<std::endl;
  397.    
  398.     std::cout << (Rational(2,1) < 1) << std::endl;
  399.     std::cout << (Rational(2,1) > 1) << std::endl;
  400.    
  401.    
  402.     return 0;
  403.   }
  404.   assert(p != r);
  405.   assert(p >= r);
  406.   assert(r <= p);
  407.   assert(p > -4);
  408.   assert(p >= p);
  409.   assert(-2 > r);
  410.   assert(r < -2);
  411.   assert(-6 <= r);
  412.   assert(p != 3);
  413.   assert(9/Rational(3) == 3);
  414.  
  415.   r = Rational(-1, 2);
  416.   p = Rational(2, 19);
  417.   assert(p > r);
  418.   assert(!(p < r));
  419.   assert(!(p == r));
  420.   assert(p != r);
  421.   assert(p >= r);
  422.   assert(!(p <= r));
  423.  
  424.   assert(!(r > p));
  425.   assert((r < p));
  426.   assert(!(r == p));
  427.   assert(r != p);
  428.   assert(!(r >= p));
  429.   assert((r <= p));
  430.   p = Rational(-2, 17);
  431.   assert(p > r);
  432.   assert(!(p < r));
  433.   assert(!(p == r));
  434.   assert(p != r);
  435.   assert(p >= r);
  436.   assert(!(p <= r));
  437.  
  438.   assert(!(r > p));
  439.   assert((r < p));
  440.   assert(!(r == p));
  441.   assert(r != p);
  442.   assert(!(r >= p));
  443.   assert((r <= p));
  444.  
  445.   r = Rational(1, 14);
  446.   p = Rational(2, 15);
  447.  
  448.   assert(!(r > p));
  449.   assert((r < p));
  450.   assert(!(r == p));
  451.   assert(r != p);
  452.   assert(!(r >= p));
  453.   assert((r <= p));
  454.  
  455.  
  456.   r = Rational(-1, 14);
  457.   p = Rational(1, -14);
  458.  
  459.   assert(!(r > p));
  460.   assert(!(r < p));
  461.   assert((r == p));
  462.   assert(!(r != p));
  463.   assert((r >= p));
  464.   assert((r <= p));
  465.   p *= -1;
  466.   assert(r < 0);
  467.   assert(r <= 0);
  468.   assert(r != 0);
  469.   assert(!(r == 0));
  470.   assert(!(p < 0));
  471.   assert(!(p <= 0));
  472.   assert(p != 0);
  473.   assert(!(p == 0));
  474.   assert(0 < p);
  475.   assert(0 <= p);
  476.   std::cout<<p;
  477.   assert(0 != p);
  478.   assert(!(0 == p));
  479.   assert(!(0 < r));
  480.   assert(!(0 <= r));
  481.   assert(0 != r);
  482.   assert(!(0 == r));
  483.  
  484.  
  485.   r = 1;
  486.   std::cout << r << std::endl;    //1
  487.   r /= 0;
  488.   assert(!r.isNumber());
  489.   assert(!(r < r));
  490.   assert(!(r <= r));
  491.   assert(!(r > r));
  492.   assert(!(r >= r));
  493.   assert(!(r == r));
  494.   assert(!(r != r));
  495.   assert(!(r < 1));
  496.   assert(!(r <= 1));
  497.   assert(!(r > 1));
  498.   assert(!(r >= 1));
  499.   assert(!(r == 1));
  500.   assert(!(r != 1));
  501.   assert(!(1 < r));
  502.   assert(!(1 <= r));
  503.   assert(!(1 > r));
  504.   assert(!(1 >= r));
  505.   assert(!(1 == r));
  506.   assert(!(1 != r));
  507.   assert(!(r < -1));
  508.   assert(!(r <= -1));
  509.   assert(!(r > -1));
  510.   assert(!(r >= -1));
  511.   assert(!(r == -1));
  512.   assert(!(r != -1));
  513.   assert(!(-1 < r));
  514.   assert(!(-1 <= r));
  515.   assert(!(-1 > r));
  516.   assert(!(-1 >= r));
  517.   assert(!(-1 == r));
  518.   assert(!(-1 != r));
  519.   assert(!(r < p));
  520.   assert(!(r <= p));
  521.   assert(!(r > p));
  522.   assert(!(r >= p));
  523.   assert(!(r == p));
  524.     //NaN
  525.  
  526.   assert(!(r + p).isNumber());
  527.   assert(!(r - p).isNumber());
  528.   assert(!(r * p).isNumber());
  529.   assert(!(r / p).isNumber());
  530.   assert(!(-r).isNumber());
  531.   assert(!(r += p).isNumber());
  532.   assert(!(r -= p).isNumber());
  533.   assert(!(r *= p).isNumber());
  534.   assert(!(r /= p).isNumber());
  535.   assert(!(r + 1).isNumber());
  536.   assert(!(r - 2).isNumber());
  537.   assert(!(r * 3).isNumber());
  538.   assert(!(r / 4).isNumber());
  539.   assert(!(r += 5).isNumber());
  540.   assert(!(r -= 6).isNumber());
  541.   assert(!(r /= 7).isNumber());
  542.   assert(!(r *= 8).isNumber());
  543.   assert(!(1 + r).isNumber());
  544.  
  545.  
  546.   assert(!(p + r).isNumber());
  547.   assert(!(p - r).isNumber());
  548.   assert(!(p * r).isNumber());
  549.  
  550.   assert(!(p / r).isNumber());
  551.   assert(!(-r).isNumber());
  552.   Rational g;
  553.   assert(!((g = Rational(1)) += r).isNumber());
  554.   assert(!((g = Rational(1)) -= r).isNumber());
  555.   assert(!((g = Rational(1)) *= r).isNumber());
  556.   assert(!((g = Rational(1)) /= r).isNumber());
  557.   assert(!(1 + r).isNumber());
  558.   assert(!(2 - r).isNumber());
  559.   assert(!(3 * r).isNumber());
  560.   assert(!(4 / r).isNumber());
  561.   assert(!(1 + r).isNumber());
  562.  
  563.   r = Rational(0, 1);
  564.   assert(!(1 / r).isNumber());
  565.   assert(!(p / r).isNumber());
  566.   assert(!(r / r).isNumber());
  567.  
  568.   assert(Zero() == 0);
  569.   assert(!(Zero() > 0));
  570.   assert(Zero() >= 0);
  571.   assert(!(Zero() < 0));
  572.   assert((Zero() <= 0));
  573.   assert(!(Zero() != 0));
  574.  
  575.   assert(!(Zero() == 1));
  576.   assert(!(Zero() > 1));
  577.   assert(!(Zero() >= 1));
  578.   assert((Zero() < 1));
  579.   assert((Zero() <= 1));
  580.   assert((Zero() != 1));
  581.  
  582.   assert(One() == 1);
  583.   assert(One() > 0);
  584.   assert(One() >= 0);
  585.   assert(!(One() < 0));
  586.   assert(!(One() <= 0));
  587.   assert(One() != 0);
  588.  
  589.   Rational e;
  590.   assert((Rational(1,2) + Rational(1,3)) == Rational(5,6));
  591.   assert((Rational(4,9) - Rational(1,3)) == Rational(1,9));
  592.  
  593.   assert((Rational(1,2) / Rational(1,3)) == Rational(3,2));
  594.   assert((Rational(7,2) * Rational(1,3)) == Rational(7,6));
  595.   assert((Rational(10,15) + Rational(1,3)) == Rational(1));
  596.   assert((Rational(2) + Rational(1,3)) == Rational(7, 3));
  597.   assert((Rational(-2, 9) * Rational(3, 2)) == Rational(-1, 3));
  598.   assert((Rational(5,2) / Rational(1,2)) == Rational(5));
  599.   assert(((e = Rational(7,60)) += Rational(1,3)) == Rational(27,60));
  600.   assert(((e = Rational(15,124)) -= Rational(1,5)) == Rational(-49,620));
  601.   assert(((e = Rational(14,39)) *= Rational(0, 121)) == Rational(0));
  602.   assert(((e = Rational(1,2)) /= Rational(17,2)) == Rational(1,17));
  603.  
  604.  
  605.   assert((13 + Rational(1,3)) == Rational(40,3));
  606.   assert((13 - Rational(1,3)) == Rational(38,3));
  607.   assert((-4 * Rational(-1,3)) == Rational(4,3));
  608.   assert((18 / Rational(3,7)) == Rational(42));
  609.   assert(((e = Rational(1,3)) += 13) == Rational(40,3));
  610.   assert(((e = Rational(1,3)) -= 13) == Rational(-38,3));
  611.   assert(((e = Rational(6)) *= 2) == Rational(12));
  612.   assert(((e = Rational(6)) /= 2) == Rational(3));
  613.   assert(((e = Rational(1,3)) + 13) == Rational(40,3));
  614.   assert(((e = Rational(1,3)) - 13) == Rational(-38,3));
  615.   assert(((e = Rational(6)) * 2) == Rational(12));
  616.   assert(((e = Rational(6)) / 2) == Rational(3));
  617.  
  618.   r = Rational(17, 13);
  619.   assert(r);
  620.   assert(Rational(7));
  621.   assert(Rational(-13));
  622.   assert(Rational(1));
  623.   assert(Rational(7,2));
  624.   assert(Rational(3,4));
  625.   assert(Rational(17,17));
  626.   assert(!Rational(0,0));
  627.   assert(!Rational(0,17));
  628.  
  629.   assert(!Rational(17,0));
  630.   std::cout<<"OK"<<std::endl;
  631.  
  632.   std::cout << (Rational(2,1) < 1) << std::endl;
  633.   std::cout << (Rational(2,1) > 1) << std::endl;
  634.  
  635.  
  636.   return 0;
  637. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement