Advertisement
Five_NT

suma fractii v2

Jan 15th, 2017
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.24 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. struct fractie {
  6.     int numitor, numarator;
  7. }f[3];
  8.  
  9. /*
  10. f1 + f2 = f3, adica f[1] + f[2] = f[0]
  11. In f[1] sunt memorate datele de la f1
  12. In f[2] sunt memorate datele de la f2
  13. In f[0] sunt memorate datele de la f3
  14.  
  15. f[1].numarator = f1.numarator
  16. f[1].numitor = f1.numitor
  17.  
  18. f[2].numarator = f2.numarator
  19. f[2].numitor = f2.numitor
  20.  
  21. f[0].numarator = f3.numarator
  22. f[0].numitor = f3.numitor
  23. */
  24.  
  25. void citire(){
  26.     for(int i = 1; i<3; i++){
  27.         cout << "Fractia " << i << ":\n";
  28.         cout << "\t numarator: "; cin >> f[i].numarator;
  29.         cout << "\t numitor: "; cin >> f[i].numitor;
  30.         while(f[i].numitor == 0) {
  31.             cout << "\t numitor: "; cin >> f[i].numitor;
  32.         }
  33.     }
  34. }
  35.  
  36. int cmmdc(int a, int b){
  37.     int r = a % b;
  38.     while(r) {
  39.         a = b;
  40.         b = r;
  41.         r = a % b;
  42.     }
  43.     return b;
  44. }
  45.  
  46. int main()
  47. {
  48.     citire();
  49.  
  50.     f[0].numarator = f[1].numarator * f[2].numitor + f[2].numarator * f[1].numitor;
  51.     f[0].numitor = f[1].numitor * f[2].numitor;
  52.  
  53.     int x = cmmdc(f[0].numitor, f[0].numarator);
  54.     f[0].numarator /= x;
  55.     f[0].numitor /= x;
  56.  
  57.     cout << "Rezultat: " << f[0].numarator << "/" << f[0].numitor;
  58.  
  59.     return 0;
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement