Pagini recente » Cod sursa (job #3222486) | Cod sursa (job #1149286) | Cod sursa (job #1325679) | Cod sursa (job #1954059) | Cod sursa (job #1524829)
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
FILE *f, *g;
struct puncte
{
float x;
float y;
};
void citire(puncte[], int&);
float panta(int, int, int, int);
int nr_trapeze(puncte[],int);
int main()
{
puncte a[100];
int n = 0;
citire(a, n);
g = fopen("out.txt", "w");
fprintf(g, "%d", nr_trapeze(a, n));
return 0;
}
void citire(puncte a[], int&n)
{
f = fopen("in.txt", "r");
fscanf(f, "%d", &n);
for (int i = 0; i < n; i++)
fscanf(f, "%f%f", &a[i].x, &a[i].y);
}
/*
float panta(int x1, int y1, int x2, int y2)
{
if (x1 == x2)
return TMP_MAX;
else return (y1 - y1) / (x1-x2);
;}*/
int nr_trapeze(puncte a[], int n)
{
int i, j,nr=0,d=0;
float p[100];
for (i = 0; i < n - 1;i++)
for (j = i + 1; j < n; j++)
{
if (a[i].x == a[j].x)
p[d++] = TMP_MAX;
else
p[d++] = (a[i].y - a[j].y) / (a[i].x - a[j].x);
}
//for (i = 0; i < d; i++)
// printf("%.2f \n", p[i]);
for(i = 0; i < d - 1; i++)
for (j = i + 1; j < d; j++)
if (p[i] == p[j])
nr++;
return nr;
}
/*
for (int i = 0; i < n; i++)
{
printf("%d %d\n", a[i].x, a[i].y);
}
p[d++] =panta(a[i].x, a[i].y, a[j].x, a[j].y);
*/