using System;
using System.Collections.Generic;
using DtDxGeo;
namespace ConsoleApp
{
class Application
{
static void Main(string[] args)
{
List<double> 多边形X坐标集 = new List<double>();
List<double> 多边形Y坐标集 = new List<double>();
int i = 1;
do
{
Console.Write("请输入第{0}点的x坐标<直接回车就结束输入>=",i);
string str = Console.ReadLine();
if (str != "")
{
多边形X坐标集.Add(double.Parse(str));
}
else
{
break;
}
Console.Write("请输入第{0}点的y坐标=",i++);
多边形Y坐标集.Add( double.Parse(Console.ReadLine()));
} while (true);
//计算面积
double area = 0;
//点的个数
int Count = 多边形X坐标集.Count;
for (int j = 0; j < Count-1; j++)
{
area += 多边形X坐标集[j] * 多边形Y坐标集[j + 1] - 多边形X坐标集[j + 1] * 多边形Y坐标集[j];
}
//计算最后一点到起点的项
area += 多边形X坐标集[Count - 1] * 多边形Y坐标集[0] - 多边形X坐标集[0] * 多边形Y坐标集[Count - 1];
Console.WriteLine("多边形的面积={0}",Math.Abs(area * 0.5));
}
}
}

using System.Collections.Generic;
using DtDxGeo;
namespace ConsoleApp
{
class Application
{
static void Main(string[] args)
{
List<double> 多边形X坐标集 = new List<double>();
List<double> 多边形Y坐标集 = new List<double>();
int i = 1;
do
{
Console.Write("请输入第{0}点的x坐标<直接回车就结束输入>=",i);
string str = Console.ReadLine();
if (str != "")
{
多边形X坐标集.Add(double.Parse(str));
}
else
{
break;
}
Console.Write("请输入第{0}点的y坐标=",i++);
多边形Y坐标集.Add( double.Parse(Console.ReadLine()));
} while (true);
//计算面积
double area = 0;
//点的个数
int Count = 多边形X坐标集.Count;
for (int j = 0; j < Count-1; j++)
{
area += 多边形X坐标集[j] * 多边形Y坐标集[j + 1] - 多边形X坐标集[j + 1] * 多边形Y坐标集[j];
}
//计算最后一点到起点的项
area += 多边形X坐标集[Count - 1] * 多边形Y坐标集[0] - 多边形X坐标集[0] * 多边形Y坐标集[Count - 1];
Console.WriteLine("多边形的面积={0}",Math.Abs(area * 0.5));
}
}
}
