Cod sursa(job #372245)

Utilizator alex@ndraAlexandra alex@ndra Data 9 decembrie 2009 08:58:01
Problema Trapez Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.07 kb
#include<fstream>
using namespace std;

typedef struct punct
{
   int x, y;
} Tpunct;

Tpunct v[1001];
int n, i;
void citire()
{
     ifstream f("trapez.in");
         f>>n;
      for(i=1;i<=n;i++)
         f>>v[i].x>>v[i].y;
      f.close();
      
      }
 
int verificare(int a, int b, int c, int d)
{
    float m1, m2, m3, m4;
    m1=(float)(v[b].y-v[a].y)/(float)(v[b].x-v[a].x);
    m2=(float)(v[c].y-v[b].y)/(float)(v[c].x-v[c].x);     
    m3=(float)(v[d].y-v[c].y)/(float)(v[d].x-v[c].x); 
    m4=(float)(v[d].y-v[a].y)/(float)(v[d].x-v[a].x); 
    
    if(m1==m2||m2==m3||m3==m4||m4==m1||m2==m4||m1==m3)
        return 1;
    return 0;
}

int cate_sunt()
{
    int contor=0,a, b, c, d;
   for(a=1;a<=n-3;a++)
     for(b=a+1;b<=n-2;b++)
        for(c=b+1;c<=n-1;c++)
          for(d=c+1;d<=n;d++)
             contor=contor+verificare(a, b, c, d);
   
   return contor;
}

void afisare()
{
     
     ofstream g("trapez.out");
        g<<cate_sunt();
      g.close();
}

int main()
{
    citire();
    afisare();

return 0;

}