👤

Cerinta
Destula informatica pe ziua de azi, haideti sa facem putin matematica. Imaginati-va ca se introduc de la tastatura 4 numere naturale x, y, z si w. Variabilele x si y seminifca numaratorul, respectiv numitorul unei fractii F1. De asemenea cu z si w am notat numaratorul si numitorul altrei fractii F2.

Calculati suma si produsul fractiilor F1 si F2, aducandu-le la forma ireductibila.

Date de intrare
Se citesc de la tastatura cele 4 numere x, y, z si w descrise mai sus.



Date de iesire
Se vor afisa pe ecran urmatoarele variabilele a, b, c, si d.



Restrictii si precizari
0 < x, y, z si w < 1,000


Exemplu
Date de intrare Date de iesire
60 40 36 80 39 20 27 40


Am facut problema cu algoritmul asta, dar nu imi da un test (testul 2) pe un site de unde am luat problema. Stiti ce pot face ca sa imi dea corect?
#include
using namespace std;
int main(){
int x; cin>>x;
int y; cin>>y;
int z; cin>>z;
int w; cin>>w;
int a,b,c,d;
//SUM//
a=w*x+z*y;
b=y*w;
if(a>b){
for(int i=b;i>=2;i--){
if(a%i==0 && b%i==0){
a=a/i;
b=b/i;
break;
}
}
}else if(a =w;i--){
if(a%i==0 && b%i==0){
a=b/i;
b=b/i;
break;
}
}
}else if(a==b){
a=1;
b=1;
}

//PRODUS
c=x*z;
d=y*w;
if(c>d){
for(int i=c;i>=2;i--){
if(c%i==0 && d%i==0){
c=c/i;
d=d/i;
break;
}
}
}else if(c =w;i--){
if(c%i==0 && d%i==0){
c=c/i;
d=d/i;
break;
}
}
}else if(c==d){
c=1;
d=1;
}
cout<
return 0;
}


Răspuns :

Răspuns:

Pe primul else if, ai o greseala, trebuie:

a=a/i;

Tu ai pus: a=b/i; probabil din graba

Vezi imaginea MGHETES
Vezi imaginea MGHETES
Vezi imaginea MGHETES