Pagini recente » Cod sursa (job #188102) | Cod sursa (job #2909761) | Cod sursa (job #34138) | Cod sursa (job #536334) | Cod sursa (job #372251)
Cod sursa(job #372251)
#include <fstream>
#include <iostream>
using namespace std;
typedef struct un_punct
{long x,y;
} PUNCT;
PUNCT v[1001];
long n,i;
void citire()
{
ifstream fin("trapez.in");
fin>>n;
for(i=1;i<=n;i++)
fin>>v[i].x>>v[i].y;
fin.close();
}
int verifica(int a,int b,int c,int d)
{float m1,m2,m3,m4;
m1=(float)(v[b].y-v[a].y)/(float)(v[b].x-v[a].x);
m2=(float)(v[c].y-v[b].y)/(float)(v[c].x-v[b].x);
m3=(float)(v[d].y-v[c].y)/(float)(v[d].x-v[c].x);
m4=(float)(v[a].y-v[d].y)/(float)(v[a].x-v[d].x);
if ((m1==m3)&&(m2==m4)) return 2;
else if ((m1==m3)||(m2==m4)) return 1;
else return 0;
}
int cate_trapeze()
{int contor=0,a,b,c,d;
for(a=1;a<=n-3;a++)
for(b=a+1;b<=n-2;b++)
for(c=b+1;c<=n-1;c++)
for(d=c+1;d<=n;d++)
contor=contor+verifica(a,b,c,d);
return contor;
}
int main()
{citire();
ofstream fout("trapez.out");
fout<<cate_trapeze();
fout.close();
}