Cerinţa
Se dau 4
numere naturale a b c d
, reprezentând fracţiile a/b
şi c/d
. Determinați și afișați cea mai mare dintre cele două fracții.
Date de intrare
Programul citește de la tastatură numerele a b c d
.
Date de ieşire
Programul afișează pe ecran numerele m n
, separate prin exact un spațiu, reprezentând numărătorul şi numitorul fracției maxime, adusă la forma ireductibilă.
Restricţii şi precizări
1 ≤ a, b, c, d ≤ 10000
Exemplu
Intrare
7 14 24 18
Ieșire
4 3
Explicație
Fracția maximă este 24/18
. Prin simplificare devine 4/3
.
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema FractiiMax:
#include <iostream>
#include <cmath>
using namespace std;
struct Fractie{
int numarator, numitor;
};
void Citire(Fractie & P);
void Afisare(Fractie P);
void Simplificare(Fractie & P);
int Cmmdc(int a , int b);
int FCmp(Fractie A , Fractie B);
int main()
{
Fractie A , B;
Citire(A), Citire(B);
if(FCmp(A,B) > 0)
Afisare(A);
else
Afisare(B);
}
int Cmmdc(int a , int b)
{
if(b == 0)
return a;
else
return Cmmdc(b , a % b);
}
void Citire(Fractie & P)
{
cin >> P.numarator >> P.numitor;
Simplificare(P);
}
void Afisare(Fractie P)
{
cout << P.numarator << " " << P.numitor;
}
void Simplificare(Fractie & P)
{
int x = Cmmdc(P.numarator, P.numitor);
P.numarator /= x;
P.numitor /= x;
}
int FCmp(Fractie A , Fractie B)
{
// returneaza -1 , 0 sau 1
if(A.numarator * B.numitor < A.numitor * B.numarator)
return -1;
if(A.numarator * B.numitor > A.numitor * B.numarator)
return 1;
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #923 FractiiMax
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #923 FractiiMax de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!