Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* 25.10.2012
- 13. un program calculeaza suma a 2 fractii ordinale
- afisare dupa simplificarea fractiilor
- - obs. la citire numitorul nu are voie sa fie 0
- A) numitor si numarator naturale
- B) numitor si numarator intregi
- */
- #include<iostream>
- using namespace std;
- void citire(int &m,int &n)
- {
- cout<<"m="; cin>>m;
- do
- {
- cout<<"n="; cin>>n;
- }while(n==0);
- }
- int cmmdc(int a,int b)
- {
- int r;
- if(b==0)
- return 0;
- else
- {
- int r=a%b;
- while(r)
- {
- a=b;
- b=r;
- r=a%b;
- }
- return b;
- }
- }
- void afisare(int m,int n)
- {
- if(m*n<0)
- {
- m=-m;
- cout<<m;
- }
- else
- cout<<m;
- if(n!=1)
- cout<<"/"<<n<<" ";
- }
- void suma(int am,int an,int bm,int bn,int &Sm,int &Sn)
- {
- Sm=bn*am+bm*an;// numarator
- Sn=bn*an; // numitor
- Sm=Sm/cmmdc(Sm,Sn);// simplific numaratorul
- Sn=Sn/cmmdc(Sm,Sn);// simplific numitorul
- }
- int main()
- {
- int am,an,bm,bn,Sn,Sm;
- citire(am,an);
- citire(bm,bn);
- afisare(am,an);
- afisare(bm,bn);
- cout<<endl<<endl;
- cout<<"Suma fractiilor este ";
- suma(am,an,bm,bn,Sm,Sn);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement