Cod sursa(job #517668)

Utilizator stanescumalinStanescu Malin Octavian stanescumalin Data 29 decembrie 2010 14:52:29
Problema Trapez Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.21 kb
#include <iostream.h>
#include <fstream.h>
//#include <string.h>
#include <math.h>


int main(int argc, char* argv[])
{
	long p[1000][2], trapeze;
	int n, i, j, k, l, flag;
	float incl_a, incl_b;
	trapeze = 0;
	ifstream fin("trapez.in");
	fin>>n;
	for (i=0; i<n; i++){
		fin>>p[i][0];
		fin>>p[i][1];
	}
	cout<<"Data read"<<endl;
	for(i=0; i<n; i++){
		for(j=i+1; j<n; j++){
			for(k=j+1; k<n; k++){
				for(l=k+1; l<n; l++){
					cout<<i<<" "<<j<<" "<<k<<" "<<l<<endl;
					if(p[i][1] - p[j][1] == 0){
						cout<<"is 0"<<endl;
						if(p[k][0]-p[l][0] == 0) trapeze++;
						else goto ux;
					}
					if(p[k][0]-p[l][0] == 0) goto ux;
					incl_a = (p[i][0]-p[j][0]) / (p[i][1]-p[j][1]);
					incl_b = (p[k][0]-p[l][0]) / (p[k][1]-p[l][1]);
					if(incl_a == incl_b) trapeze++;
ux:					flag = 0;
					if(p[i][1] - p[k][1] == 0){
						cout<<"is 0"<<endl;
						if(p[l][0]-p[j][0] == 0) trapeze++;
						else continue;
					}
					if(p[l][0]-p[j][0] == 0) continue;
					incl_a = (p[i][0]-p[k][0]) / (p[i][1]-p[k][1]);
					incl_b = (p[l][0]-p[j][0]) / (p[l][1]-p[j][1]);
					if(incl_a == incl_b) trapeze++;
				}
			}
		}
	}
	ofstream fout("trapez.out");
	fout<<trapeze;
	return 0;
}