Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include<string.h>
- #include <ctype.h>
- using namespace std;
- int calculareNumitorComun(int numitor1, int numitor2);
- int cmmdc(int a, int b);
- int minimum(int a, int b);
- struct fractie {
- int numarator;
- int numitor;
- } f1, f2;
- int main()
- {
- int numarator1, numarator2, numitor1, numitor2;
- cout << "Introdu numarator1:";
- cin >> numarator1;
- cout << "Introdu numitor1:";
- cin >> numitor1;
- cout << "Introdu numarator2:";
- cin >> numarator2;
- cout << "Introdu numitor2:";
- cin >> numitor2;
- //struct fractie f1, f2;
- f1.numarator = numarator1;
- f1.numitor = numitor1;
- f2.numarator = numarator2;
- f2.numitor = numitor2;
- struct fractie rezultat;
- int numitorComun = calculareNumitorComun(numitor1, numitor2);
- rezultat.numarator = (numitorComun / numitor1) * numarator1 + (numitorComun / numitor2) * numarator2;
- rezultat.numitor = numitorComun;
- cout << "Rezultat: " << rezultat.numarator << " / " << rezultat.numitor;
- return 0;
- }
- int cmmdc(int a, int b) {
- int rest;
- while (b != 0) {
- rest = a % b;
- a = b;
- b = rest;
- }
- return a;
- }
- int calculareNumitorComun(int numitor1, int numitor2) {
- int rezultat;
- if (numitor1 % numitor2 == 0) {
- rezultat = numitor1;
- }
- else if (numitor2 % numitor1 == 0) {
- rezultat = numitor2;
- }
- else {
- int min = minimum(numitor1, numitor2);
- for (int i = min;;i++) {
- if (i % numitor1 == 0 && i % numitor2 == 0) {
- rezultat = i;
- break;
- }
- }
- }
- return rezultat;
- }
- int minimum(int a, int b) {
- if (a > b) {
- return b;
- }
- else {
- return a;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment