Pagini recente » Cod sursa (job #761951) | Cod sursa (job #2680282) | Monitorul de evaluare | Cod sursa (job #641242) | Cod sursa (job #1006291)
#include <iostream>
#include <fstream>
using namespace std;
fstream fin("fractii.in",ios::in);
fstream fout("fractii.out",ios::out);
int k=0;
class fractii
{
int x,y;
public :
fractii();
void citire(int a, int b);
void simplificare();
void afisare();
int echilateral();
int egalitate(fractii b);
} ;
fractii::fractii()
{
x=0;
y=0;
}
int fractii::echilateral()
{ if(x==0&&y==0) return 1;
else
if(x!=1&&x==y) return 1;
return 0;
}
void fractii::simplificare()
{
int a,b;
a=x;
b=y;
while (a!=b)
if (a>b)
a=a-b;
else
b=b-a;
x=x/a;
y=y/a;
}
void fractii::citire(int a,int b)
{
x=a;
y=b;
}
int fractii::egalitate(fractii b)
{
if(x==b.x&&y==b.y) return 1;
return 0;
}
void fractii::afisare()
{
cout<<x<<" / "<<y<<endl;
}
int cautare(fractii v[],fractii a)
{
for(int i=1;i<=k;i++)
if(v[i].egalitate(a)) return 1;
return 0;
}
int main()
{
int n; fractii a;
fin>>n;
fractii v[1000];
for(int i =1; i<=n;i++)
for(int j = 1 ; j<=n; j++)
{
a.citire(i,j);
a.simplificare();
if(a.echilateral()!=1&&cautare(v,a)==0) { k++; v[k]=a;}
}
fout<<k;
return 0;
}