fork(1) download
  1. /*###Begin banned keyword - each of the following line if appear in code will raise error. regex supported
  2. ###End banned keyword*/
  3.  
  4. //###INSERT CODE HERE -
  5. #include <iostream>
  6. #include <cmath>
  7. using namespace std;
  8.  
  9. struct PhanSo
  10. {
  11. int t, m;
  12. };
  13.  
  14. void Nhap(PhanSo& a)
  15. {
  16. cin >> a.t >> a.m;
  17. }
  18.  
  19. PhanSo Nhap()
  20. {
  21. PhanSo b;
  22. cin >> b.t >> b.m;
  23. return b;
  24. }
  25.  
  26. int ucln(int a, int b)
  27. {
  28. a = abs(a); b = abs(b);
  29. int t;
  30. while (b > 0)
  31. {
  32. t = a % b;
  33. a = b;
  34. b = t;
  35. }
  36. return a;
  37. }
  38.  
  39. PhanSo Cong(PhanSo a, PhanSo b)
  40. {
  41. PhanSo ketqua = { (a.t * b.m) + (b.t * a.m), a.m * b.m};
  42. return ketqua;
  43. }
  44.  
  45. void Xuat(PhanSo a)
  46. {
  47. int d = ucln(a.t, a.m);
  48. a.t /= d;
  49. a.m /= d;
  50. if (a.t % a.m == 0) cout << a.t / a.m;
  51. else
  52. if (a.t > 0 && a.m < 0 || a.t < 0 && a.m < 0)
  53. {
  54. a.t = -a.t;
  55. a.m = -a.m;
  56. cout << a.t << "/" << a.m;
  57. }
  58. else cout << a.t << "/" << a.m;
  59. }
  60. int main() {
  61. PhanSo a, b;
  62. Nhap(a);
  63. b = Nhap();
  64. Xuat(Cong(a, b));
  65. return 0;
  66. }
  67.  
Success #stdin #stdout 0s 4952KB
stdin
3 -3
0 -9
stdout
-1