Cod sursa(job #1524820)

Utilizator metamorfo96Daniel metamorfo96 Data 14 noiembrie 2015 14:33:48
Problema Trapez Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.15 kb
#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);

void main()
{
	puncte a[100];
	int n = 0;
	citire(a, n);
	g = fopen("out.txt", "w");
	fprintf(g, "%d", nr_trapeze(a, n));
}

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);
*/