Pagini recente » Cod sursa (job #2010301) | Cod sursa (job #962058) | Cod sursa (job #1990379) | Cod sursa (job #2240232) | Cod sursa (job #155928)
Cod sursa(job #155928)
#include<stdio.h>
#include<math.h>
#define M 1000
int x[M],y[M];
int main()
{int i,n,j,k,l,ok,m1,m2,d1,d2,ok1;
FILE *f=fopen("trapez.in","r");
FILE *g=fopen("trapez.out","w");
fscanf(f,"%d",&n);
k=0;
for(i=1;i<=n;i++)
{fscanf(f,"%d",&x[i]);
fscanf(f,"%d",&y[i]);}
for(i=1;i<=n-3;i++)
for(j=1+1;j<=n-2;j++)
{ok=0;
if(x[i]==x[j]) ok=1;
if (ok==0) m1=(y[i]-y[j])/(x[i]-x[j]);
d1=sqrt((x[j]-x[i])*(x[j]-x[i])+(y[j]-y[i])*(y[j]-y[i]));
for(k=j+1;k<=n-1;k++)
for(l=k+1;l<=n;l++)
{ok1=0;
if(x[k]==x[l]) ok1=1;
if(ok1==0) m2=(y[k]-y[l])/(x[k]-x[l]);
d2=sqrt((x[l]-x[k])*(x[l]-x[k])+(y[l]-y[k])*(y[l]-y[k]));
if((ok==ok1)&&(ok==1)) {if (d1==d2) k+=2;}
else {if(m1==m2) {if(d1==d2) k+=2;
else k++;}}
}
}
fprintf(g,"%d",k);
fclose(f);
fclose(g);
return 0;
}