#include<iostream>
#include<math.h>
using namespace std ;
// 按照时针方向输入多边形顶点
// 凸多边形或凹多边形 都使用多边形面积公式
int n;// n是多边形顶点的数目
float x;
float y;// x, y分别是多边形顶点坐标的x,y坐标数组
int i;
int valeur;
float s;
void main()
{
cout<<"on va calculer Area du Polygone a n cotés"<<endl;
cout<<"please Use , to separate xi and yi/utilisez , d'ouverture xi et yi"<<endl;
cout<<"n=";//在屏幕上显示n=
cin>>valeur;//用键盘输入n的数值
n=valeur;//程序运行到这里都正确 //想要在屏幕上显示“x[i],y[i]= ”再从键盘输入x[i],y[i]的数值,跳行。然后i变为1+i,循环显示、输入
for(i=1;i<=n;i=i+1)
{cout<<"x[i],y[i]=";
cin>>"x">>" ">>"y";
cout<<endl;//运行达不到预定目的,?是否要将点坐标弄成2维向量,建立stuct?怎么实行呢?
}
}
//把上诉的点坐标值代入(点p[i]按顺时针方向排列),计算n变形面积的程序#include<iostream>
#include<math.h>
using namespace std ; // voucnt是多边形顶点的数目
// x, y分别是多边形顶点坐标的x,y坐标数组
// 按照逆时针方向输入多边形顶点
// 可以是凸多边形或凹多边形
// 多边形面积的计算公式如下:设有n个点(x[1],y[1])(x[2],y[2]),...(x[n],y[n])围成一个没有边相交的多边形,
//则其围成的闭合多边形面积|S| 为:
//
// n
// S=1/2 abs[∑ (xi*yi+1- xi+1*yi)]
// i=1
//其中i=1,2,...n,且当i与j除以n的余数相同的时候,x[i]=x[j],y[i]=y[j],即x[n+1]=x[1],。
//该公式用于凸凹多边形均可。 展开公式:
//S=0.5*abs(x1*y2-y1*x2+x2*y3-y2*x3+...+xn*y1-yn*x1)
//下面是网络上的计算犯法,我不知道怎么把它用起来,
//与前面写的结合成为一个按序输入点坐标就能计算得出面积,并在屏幕上显示数值 float area_of_polygon(int vcount,float x[],float y[])
{
int i;
float s;
if (vcount<3) return 0;
s=y[0]*(x[vcount-1]-x[1]);
for (i=1;i<vcount;i++)
s+=y[i]*(x[(i-1)]-x[(i+1)%vcount]);
return s/2;
} class CMyPolygon{
CMyPoint *v;
int m_count;
public:
double area();
...
};
double CMyPoint::area()
{
double a=0.0;
if(m_count<3)return 0.0;
int i;
for(i=0;i<m_count;i++)
{
a+=(v[(i+1)%m_count].x-v[i].x)*(v[(i+1)%m_count].y+v[i].y);
}
a/=2.0;
return a;
}
//我自己写的计算面积,不过没写出来,汗!!! int vcount;
float x[];
float y[];
int i;
float s;
void main()
{ cin>>x>>y;
if (vcount<3) { return 0;
}else{
for (i=1;i<vcount;i++) { s=o;
s+=y[i]*x[(i-1)]-x[(i)]*y[i+1];
return s;}
return fabs(s/2)
}
#include<math.h>
using namespace std ;
// 按照时针方向输入多边形顶点
// 凸多边形或凹多边形 都使用多边形面积公式
int n;// n是多边形顶点的数目
float x;
float y;// x, y分别是多边形顶点坐标的x,y坐标数组
int i;
int valeur;
float s;
void main()
{
cout<<"on va calculer Area du Polygone a n cotés"<<endl;
cout<<"please Use , to separate xi and yi/utilisez , d'ouverture xi et yi"<<endl;
cout<<"n=";//在屏幕上显示n=
cin>>valeur;//用键盘输入n的数值
n=valeur;//程序运行到这里都正确 //想要在屏幕上显示“x[i],y[i]= ”再从键盘输入x[i],y[i]的数值,跳行。然后i变为1+i,循环显示、输入
for(i=1;i<=n;i=i+1)
{cout<<"x[i],y[i]=";
cin>>"x">>" ">>"y";
cout<<endl;//运行达不到预定目的,?是否要将点坐标弄成2维向量,建立stuct?怎么实行呢?
}
}
//把上诉的点坐标值代入(点p[i]按顺时针方向排列),计算n变形面积的程序#include<iostream>
#include<math.h>
using namespace std ; // voucnt是多边形顶点的数目
// x, y分别是多边形顶点坐标的x,y坐标数组
// 按照逆时针方向输入多边形顶点
// 可以是凸多边形或凹多边形
// 多边形面积的计算公式如下:设有n个点(x[1],y[1])(x[2],y[2]),...(x[n],y[n])围成一个没有边相交的多边形,
//则其围成的闭合多边形面积|S| 为:
//
// n
// S=1/2 abs[∑ (xi*yi+1- xi+1*yi)]
// i=1
//其中i=1,2,...n,且当i与j除以n的余数相同的时候,x[i]=x[j],y[i]=y[j],即x[n+1]=x[1],。
//该公式用于凸凹多边形均可。 展开公式:
//S=0.5*abs(x1*y2-y1*x2+x2*y3-y2*x3+...+xn*y1-yn*x1)
//下面是网络上的计算犯法,我不知道怎么把它用起来,
//与前面写的结合成为一个按序输入点坐标就能计算得出面积,并在屏幕上显示数值 float area_of_polygon(int vcount,float x[],float y[])
{
int i;
float s;
if (vcount<3) return 0;
s=y[0]*(x[vcount-1]-x[1]);
for (i=1;i<vcount;i++)
s+=y[i]*(x[(i-1)]-x[(i+1)%vcount]);
return s/2;
} class CMyPolygon{
CMyPoint *v;
int m_count;
public:
double area();
...
};
double CMyPoint::area()
{
double a=0.0;
if(m_count<3)return 0.0;
int i;
for(i=0;i<m_count;i++)
{
a+=(v[(i+1)%m_count].x-v[i].x)*(v[(i+1)%m_count].y+v[i].y);
}
a/=2.0;
return a;
}
//我自己写的计算面积,不过没写出来,汗!!! int vcount;
float x[];
float y[];
int i;
float s;
void main()
{ cin>>x>>y;
if (vcount<3) { return 0;
}else{
for (i=1;i<vcount;i++) { s=o;
s+=y[i]*x[(i-1)]-x[(i)]*y[i+1];
return s;}
return fabs(s/2)
}
解决方案 »
- 求文件上传例子?
- 怎么设置画笔的可画的区域?
- 如何用VC将ACCESS数据库中的一个表的所有的字段的所有相关属性和信息读取并显示
- 基于对话框的mfc应用程序中,在应用程序的InitApplication事件能否显示窗口,要是能如何做啊?
- 拦截API的问题
- 如何使用NetMessageBufferSend函数向同一域中计算机发送消息,通过信使服务
- 在对话框控制中WS_GROUP起什么作用
- :)有谁试过重载CEdit的OnPaint:)
- 我这里没有msdn,谁帮忙把上边的DialogBox的说明给贴一份来
- 无题,请教
- vs2008或2010“添加新数据源”出现的问题
- opencv 如何将图像绘制在MFC的SDI窗口中?
有人需要联系我[email protected]
邮箱:[email protected]