Pagini recente » Cod sursa (job #1645300) | Profil DEYDEY2 | Album | Cod sursa (job #417811) | Cod sursa (job #244085)
Cod sursa(job #244085)
#include <iostream>
#include <fstream>
#include <vector>
#include <map>
#include <algorithm>
using namespace std;
vector<double>::iterator next(vector<double>::iterator it) { return ++it; }
int main()
{
int n,x,y,current=0,trap=0,crt_v=0;
vector< pair<int,int> > V;
vector<double> P;
fstream fin ("trapez.in" , fstream::in);
for(fin>>n; n-- ; V.push_back(make_pair(x,y)))
{
fin>>x;
fin>>y; //cout<<x<<' '<<y<<'\n';
for(vector< pair<int,int> >::iterator it = V.begin() ; it!=V.end() ; it++)
{
if (it->first == x)
{
current ++;
cout<<"||\n";
}
else
{
P.push_back((double)(it->second-y)/(it->first-x));
cout<<(double)(it->second-y)/(it->first-x)<<'\n';
}
}
}
fin.close();
sort(P.begin(),P.end());
for (vector<double>::iterator it = P.begin() ; it!=P.end(); it++)
{
trap+= (current*(current-1)) >>1 ;
for (current = 1 ; next(it)!=P.end() && (*it - *(next(it)))<0.00001 && (*(next(it)) - *it)<0.00001 ; it++,current++ );
}
trap+= (current*(current-1)) >>1 ;
fstream fout ("trapez.out" , fstream::out);
fout<<trap<<'\n';
fout.close();
}