Pagini recente » Cod sursa (job #2984739) | Cod sursa (job #1612159) | Cod sursa (job #2359752) | Cod sursa (job #1031117) | Cod sursa (job #2295277)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
struct pnct
{
int x, y;
}punct[1001];
int main()
{
int n, nr = 0, CateDrepte = 0;
f >> n;
double panta[1001005];
for (int i = 1; i <= n; i++)
{
f >> punct[i].x >> punct[i].y;
}
for (int i = 1; i < n; i++)
for (int j = i + 1; j <= n; j++)
{
++nr;
panta[nr] = (double)(punct[j].x - punct[i].x) / (punct[j].y - punct[i].y);
}
sort(panta + 1, panta + nr + 1);
for (int i = 1; i <= nr; i++)
{
int numar = 1;
while (i < nr && panta[i] == panta[i + 1])
{
i++;
numar++;
}
CateDrepte = CateDrepte + (numar * (numar - 1)) / 2;
}
g << CateDrepte;
return 0;
}