Advertisement
Guest User

Untitled

a guest
Nov 16th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.87 KB | None | 0 0
  1. #include <iostream>
  2. #include <iostream>
  3. #include <string>
  4. #include <vector>
  5. #include <algorithm>
  6. using namespace std;
  7.  
  8. struct Razlomak {
  9. int brojnik;
  10. int nazivnik;
  11. void Ispisi(){
  12. cout << brojnik << "/"<<nazivnik;
  13. }
  14. };
  15. Razlomak operator +(Razlomak x, Razlomak y) {
  16. Razlomak z;
  17. int manji;
  18. int veci;
  19. int veci1;
  20. int manji1;
  21. z.brojnik = x.brojnik * y.nazivnik + y.brojnik * x.nazivnik;
  22. z.nazivnik = x.nazivnik * y.nazivnik;
  23. if (z.brojnik < z.nazivnik)
  24. {manji = z.brojnik;
  25. veci = z.nazivnik;
  26. manji1 = z.brojnik;
  27. veci1 = z.nazivnik;
  28. }
  29. else
  30. {veci = z.brojnik;
  31. manji = z.nazivnik;}
  32. for (int i=manji/2; i>0; i--)
  33. {if ((manji %i == 0) && (veci %i == 0))
  34. {manji = manji / i;
  35. veci = veci / i;}
  36. break;}
  37. if ((manji1 == z.brojnik)&&(veci1 == z.nazivnik))
  38. {
  39. z.brojnik = manji;
  40. z.nazivnik = veci;
  41. }
  42. else
  43. {
  44. z.brojnik = veci;
  45. z.nazivnik = manji;
  46. }
  47. return z;
  48. }
  49. Razlomak operator-(Razlomak x, Razlomak y){
  50. Razlomak z;
  51. int manji;
  52. int veci;
  53. int veci1;
  54. int manji1;
  55. z.brojnik = x.brojnik * y.nazivnik - y.brojnik * x.nazivnik;
  56. z.nazivnik = x.nazivnik * y.nazivnik;
  57. if (z.brojnik < z.nazivnik)
  58. {manji = z.brojnik;
  59. veci = z.nazivnik;
  60. manji1 = z.brojnik;
  61. veci1 = z.nazivnik;
  62. }
  63. else
  64. {veci = z.brojnik;
  65. manji = z.nazivnik;}
  66. for (int i=manji/2; i>0; i--)
  67. {if ((manji %i == 0) and (veci %i == 0))
  68. {manji = manji / i;
  69. veci = veci / i;}
  70. break;}
  71. if ((manji1 == z.brojnik)&&(veci1 == z.nazivnik))
  72. {
  73. z.brojnik = manji;
  74. z.nazivnik = veci;
  75. }
  76. else
  77. {
  78. z.brojnik = veci;
  79. z.nazivnik = manji;
  80. }
  81. return z;
  82. }
  83. Razlomak operator*(Razlomak x, Razlomak y){
  84. Razlomak z;
  85. int manji;
  86. int veci;
  87. int veci1;
  88. int manji1;
  89. z.brojnik = x.brojnik * y.brojnik;
  90. z.nazivnik = x.nazivnik * y.nazivnik;
  91. if (z.brojnik < z.nazivnik)
  92. {manji = z.brojnik;
  93. veci = z.nazivnik;
  94. manji1 = z.brojnik;
  95. veci1 = z.nazivnik;
  96. }
  97. else
  98. {veci = z.brojnik;
  99. manji = z.nazivnik;}
  100. for (int i=manji/2; i>0; i--)
  101. {if ((manji %i == 0) and (veci %i == 0))
  102. {manji = manji / i;
  103. veci = veci / i;}
  104. break;}
  105. if ((manji1 == z.brojnik)&&(veci1 == z.nazivnik))
  106. {
  107. z.brojnik = manji;
  108. z.nazivnik = veci;
  109. }
  110. else
  111. {
  112. z.brojnik = veci;
  113. z.nazivnik = manji;
  114. }
  115. return z;
  116. }
  117. //Ne radi ˘˘˘˘˘
  118. /*Razlomak Skrati(Razlomak z){
  119. int manji;
  120. int veci;
  121. int veci1;
  122. int manji1;
  123. if (z.brojnik < z.nazivnik)
  124. {manji = z.brojnik;
  125. veci = z.nazivnik;
  126. manji1 = z.brojnik;
  127. veci1 = z.nazivnik;
  128. }
  129. else
  130. {veci = z.brojnik;
  131. manji = z.nazivnik;}
  132. for (int i=manji/2; i>0; i--)
  133. {if ((manji %i == 0) and (veci %i == 0))
  134. {manji = manji / i;
  135. veci = veci / i;}
  136. break;}
  137. if ((manji1 == z.brojnik)&&(veci1 == z.nazivnik))
  138. { z.brojnik = manji;
  139. z.nazivnik = veci;
  140. return (z.brojnik, z.nazivnik);
  141.  
  142. }
  143. else
  144. {
  145. z.brojnik = veci;
  146. z.nazivnik = manji;
  147. return (z.brojnik, z.nazivnik);
  148. }
  149. }*/
  150. Razlomak operator/(Razlomak x, Razlomak y){
  151. Razlomak z;
  152. int manji;
  153. int veci;
  154. int veci1;
  155. int manji1;
  156. z.brojnik = x.brojnik * y.nazivnik;
  157. z.nazivnik = x.nazivnik * y.brojnik;
  158. if (z.brojnik < z.nazivnik)
  159. {manji = z.brojnik;
  160. veci = z.nazivnik;
  161. manji1 = z.brojnik;
  162. veci1 = z.nazivnik;
  163. }
  164. else
  165. {veci = z.brojnik;
  166. manji = z.nazivnik;}
  167. for (int i=manji/2; i>0; i--)
  168. {if ((manji %i == 0) and (veci %i == 0))
  169. {manji = manji / i;
  170. veci = veci / i;}
  171. break;}
  172. if ((manji1 == z.brojnik)&&(veci1 == z.nazivnik))
  173. {
  174. z.brojnik = manji;
  175. z.nazivnik = veci;
  176. }
  177. else
  178. {
  179. z.brojnik = veci;
  180. z.nazivnik = manji;
  181. }
  182. return z;
  183. }
  184. int main() {
  185. Razlomak a;
  186. Razlomak c;
  187. cout << "Unesite prvi razlomak (brojnik pa nazivnik, bez '/'): ";
  188. cin >> a.brojnik;
  189. cout << "/";
  190. cin >> a.nazivnik;
  191. cout << endl;
  192. Razlomak b;
  193. cout << "Unesite drugi razlomak (brojnik pa nazivnik, bez '/'): ";
  194. cin >> b.brojnik;
  195. cout << "/";
  196. cin >> b.nazivnik;
  197. cout << endl<<endl<<endl;
  198. a.Ispisi();
  199. cout << " + ";
  200. b.Ispisi();
  201. cout<<" = ";
  202. c = a+b;
  203. c.Ispisi();
  204. cout << endl<<endl<<endl;
  205. a.Ispisi();
  206. cout << " - ";
  207. b.Ispisi();
  208. cout<<" = ";
  209. c = a-b;
  210. c.Ispisi();
  211. cout << endl<<endl<<endl;
  212. a.Ispisi();
  213. cout << " * ";
  214. b.Ispisi();
  215. cout<<" = ";
  216. c = a*b;
  217. c.Ispisi();
  218. cout << endl<<endl<<endl;
  219. a.Ispisi();
  220. cout << " / ";
  221. b.Ispisi();
  222. cout<<" = ";
  223. c = a/b;
  224. c.Ispisi();
  225. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement