Pagini recente » Cod sursa (job #2369189) | Cod sursa (job #1704437) | Cod sursa (job #1051368) | Cod sursa (job #1005077) | Cod sursa (job #566203)
Cod sursa(job #566203)
#include<stdio.h>
#include<malloc.h>
typedef struct _nod
{
long int a;
long int b;
struct _nod *adr;
} nod;
typedef struct
{
long int x;
long int y;
} xy;
xy A[1001];
int N;
nod *cap = NULL;
int nr = 0;
void citire(void)
{
FILE *f = fopen("trapez.in","r");
fscanf(f,"%d ",&N);
for(int i=1;i<=N;i++)
fscanf(f,"%d %d",&A[i].x,&A[i].y);
fclose(f);
}
void add(nod*& cap,int a,int b)
{
nod *nou = (nod*)malloc(sizeof(nod));
nou->a = A[a].y-A[b].y;
nou->b = A[a].x-A[b].x;
nou->adr = cap;
cap = nou;
}
void creare(void)
{
for(int i=1;i<=N;i++)
for(int j=i+1;j<=N;j++)
add(cap,i,j);
}
void calc(void)
{
while(cap)
{
nod *p = cap->adr;
while(p)
{
if(cap->a*p->b == cap->b*p->a)
nr ++;
p = p->adr;
}
cap = cap->adr;
}
}
int main()
{
FILE *f = fopen("trapez.out","w");
citire();
creare();
calc();
fprintf(f,"%d",nr);
fclose(f);
return 0;
}