fork download
  1. //algorytm.edu.pl
  2. #include<iostream>
  3. using namespace std;
  4.  
  5. int NWD(int a, int b)
  6. {
  7. int pom;
  8. while(b!=0)
  9. {
  10. pom = b;
  11. b = a%b;
  12. a = pom;
  13. }
  14. return a;
  15. }
  16.  
  17. int NWW(int a, int b)
  18. {
  19. return a/NWD(a,b)*b;
  20. }
  21.  
  22. int main()
  23. {
  24. int l1, l2, m1, m2; //liczniki i mianowniki
  25. char kreska;
  26.  
  27. cout<<"Podaj pierwszy ułamek w formacie licznik/mianownik: ";
  28. cin>>l1>>kreska>>m1;
  29.  
  30. cout<<"Podaj drugi ułamek w formacie licznik/mianownik: ";
  31. cin>>l2>>kreska>>m2;
  32.  
  33. int licznik, mianownik; //licznik i mianownik ułamka wynikowego
  34.  
  35. mianownik = NWW(m1, m2);
  36. int pom = licznik = mianownik/m1*l1 + mianownik/m2*l2;
  37.  
  38. licznik /= NWD(pom,mianownik);
  39. mianownik /= NWD(pom,mianownik);
  40.  
  41. cout<<l1<<"/"<<m1<<" + "<<l2<<"/"<<m2<<" = "<<licznik<<"/"<<mianownik;
  42.  
  43. return 0;
  44. }
Success #stdin #stdout 0.01s 5484KB
stdin
5/8
5/12
stdout
Podaj pierwszy ułamek w formacie licznik/mianownik: Podaj drugi ułamek w formacie licznik/mianownik: 5/8 + 5/12 = 25/24