Cod sursa(job #230188)

Utilizator loooolGhardan Tudor looool Data 13 decembrie 2008 11:08:47
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
/*se citesc de la tastatura n fractii
sa se determine suma acestor fractii
(7,6); (1,3); (4,16); (2,5)
(43,20)*/
#include<fstream.h>
#define fin"fractii.in"
#define fout"fractii.out"
int main()
{
	int n, a, b, i, r, A, B, x, y, num;
	/*A, B semnifica fractia rezulktat a, b, fractia curenta*/
	ifstream in(fin);
	in>>A>>B;
	in>>n;
	for(i=1; i<=n; i++)
	{

		in>>a;
		do
		   {
			in>>b;
			in.close();
			ofstream out(fout);
			if(b==0) out<<"operatie imposibila";
			out.close();
		   }
		while(b==0);
		{  x=a;
		  y=b;
		  r=x%y;
		}
		while(r!=1)
		{
			x=y;
			y=r;
			r=x%y;
		}
		if(y!=1)
		{
			a=a/y;
			b=b/y;
		}
		x=B;
		y=b;
		r=x%y;
		while(r!=0)
		{
			x=y;
			y=r;
			r=x%y;
		}
		num=b*B/y;
		A=A*(num/B)+a*(num/b);
		B=num;
		x=A;
		y=B;
		r=x%y;
		while(r!=0)
		 {
			x=y;
			y=r;
			r=x%y;
		 }
		if(y!=1)
		 {
			A=A/y;
			B=B/y;
		 }
	}
			ofstream out(fout);
			out<<A/B<<"\n";
			out.close();
	return 0;
}