Cod sursa(job #372249)

Utilizator jasminaMendoiu Cosmina jasmina Data 9 decembrie 2009 09:01:15
Problema Trapez Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.43 kb
#include <fstream>
#include <iostream.h>
using namespace std;
typedef struct un_punct
{
        int x,y;
        }   PUNCT;
        

PUNCT v[1001];
int n,i;
void citire()
{
     ifstream fin("trapez.in");
     fin>>n;
     
     for(i=1;i<=n;i++)
       fin>>v[i].x>>v[i].y;
      
     fin.close();
     
}

int verifica(int a,int b,int c,int d)
{
    float m1,m2,m3,m4;
    cout<<endl<<"punctele "<<a<<" "<<b<<" "<<c<<" "<<d;
        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[b].x);
        m3=(float)(v[d].y-v[c].y)/(float)(v[d].x-v[c].x);
        m4=(float)(v[a].y-v[d].y)/(float)(v[a].x-v[d].x);
        cout<<endl<<"m1="<<m1<<"m2="<<m2<<"m3="<<m3<<"m4="<<m4;
        system("pause");
        if (m1==m2||m1==m3||m1==m4||m2==m3||m2==m4||m3==m4) 
           return 1;
           else return 0;
           }


int cate_trapeze()
{
    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+verifica(a,b,c,d);
return contor;

}

void afisare()
{
      for(i=1;i<=n;i++)
        cout<<endl<<v[i].x<<" "<<v[i].y;
        system("pause");
        }

int main()
{
    citire();
   afisare();
    ofstream fout("trapez.out");
    fout<<cate_trapeze();
    fout.close();
    
    
    
}