View Code of Problem 4049

#include<iostream>
using namespace std;
struct S{
	int x;
	int y;
};
double func(double &a,double &b){
	if((a-b)<0){
		return b-a;
	}
	else{
		return a-b;
	}
}
int main(){
	int n;
	S ar[105];
	while(cin>>n && n!=0){
		double sumr=0;
		double suml=0;
		for(int i=0;i<n;i++){
			cin>>ar[i].x>>ar[i].y;
		}
		for(int i=0;i<n;i++){
			//cout<<sumr<<endl;
			if(i==n-1){
				sumr+=ar[i].x*ar[0].y;
			}
			else{
				sumr+=ar[i].x*ar[i+1].y;
			}
			//cout<<sumr<<endl;
		}
		for(int i=0;i<n;i++){
			if(i==n-1){
				suml+=ar[i].y*ar[0].x;
			}
			else{
				suml+=ar[i].y*ar[i+1].x;
			}
			//cout<<suml<<endl;
		}
		double ans;
		//double sa=func(sumr,suml);
		//cout<<sa<<endl;
		ans=(double)(1.0/2.0)*func(sumr,suml);
		printf("%.1lf\n",ans);
	}
}

Double click to view unformatted code.


Back to problem 4049