Pagini recente » Cod sursa (job #386899) | Cod sursa (job #1730305) | Cod sursa (job #2450218) | Cod sursa (job #376992) | Cod sursa (job #42477)
Cod sursa(job #42477)
#include <stdio.h>
struct dreapta
{
int x1,y1,x2,y2;
float m;
};
struct punct
{
int x,y;
};
double d[1002][3];
int main()
{
float panta;
int n,i,j,m,l,k,x=0;
punct v[1002];
FILE *in=fopen("trapez.in","r"),*out=fopen("trapez.out","w");
fscanf(in,"%d",&n);
for (i=0; i<n; i++)
fscanf(in,"%d%d",&v[i].x,&v[i].y);
fclose(in);
m=0;
for (i=0; i<n-1; i++)
for (j=i+1; j<n; j++)
{
k=0;
if (v[i].x-v[j].x!=0)
panta=((float) v[i].y - v[j].y )/((float) v[i].x - v[j].x );
else
panta=9999999;
for (l=0; l<m; l++)
if (panta==d[l][0])
{
d[l][1]+=1;
l=m;
k=1;
}
if (!k)
{
d[m][0]=panta;
d[m][1]=1;
m++;
}
}
for (i=0; i<m; i++)
x+=(int)(d[i][1]*(d[i][1]-1)/2);
fprintf(out,"%d\n",x);
fclose(out);
return 0;
}