Advertisement
Guest User

Untitled

a guest
Dec 14th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. int GCD(int a,int b)
  7. {
  8. while (a!=b) {
  9. if (a > b)
  10. a -= b;
  11. else
  12. b -= a;
  13. }
  14. return a;
  15. }
  16.  
  17. vector<string> reducedFractionSums(vector<string> expressions)
  18. {
  19. vector<int> summ(4);
  20. int num, den, gcd;
  21. for (int i = 0; i < expressions.size(); i++)
  22. {
  23. summ[0]=atoi(expressions[i].c_str()); // 0 - числитель первой дроби
  24. expressions[i] = expressions[i].erase(0,expressions[i].find('/')+1);
  25. summ[1]=atoi(expressions[i].c_str()); // 1 - знаменатель первой дроби
  26. expressions[i] = expressions[i].erase(0,expressions[i].find('+')+1);
  27. summ[2]=atoi(expressions[i].c_str()); // 2 - числитель второй дроби
  28. expressions[i] = expressions[i].erase(0,expressions[i].find('/')+1);
  29. summ[3]=atoi(expressions[i].c_str()); // 3 - знаменатель второй дроби
  30. num = summ[0]*summ[3]+summ[1]*summ[2];
  31. den = summ[1]*summ[3];
  32. gcd = GCD(num, den);
  33. num = num / gcd;
  34. den = den / gcd;
  35. expressions[i] = to_string(num) + '/' + to_string(den);
  36. }
  37. }
  38.  
  39. int main () {
  40.  
  41. string y = "12/2+13/1";
  42. int x = atoi(y.c_str());
  43. cout << x;
  44. return 0;
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement