| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1200 人关注过本帖
标题:多边形的面积问题
只看楼主 加入收藏
xianlin_lea
Rank: 1
等 级:新手上路
帖 子:72
专家分:0
注 册:2006-10-6
收藏
 问题点数:0 回复次数:4 
多边形的面积问题

设构成多边形的坐标串为(xi,yi)(i=1,2,……,n),求此多边形面积A。


#include<math.h>
#define N 10
float Area(float (*x)[2],int n)
{float sum=0;
int i=0,j;
for(;i<n;i++)
{j=i+1;
if(j==n)
j=0;
sum+=(x[j][0]+x[i][0])*(x[j][1]-x[i][1]);
}
sum=(1/2)*(fabs(sum));
return sum;
}

main()
{int n,i,j;
float x[N][2],(*p)[2],area;
printf("输入多边形的边数:");
scanf("%d",&n);
printf("输入多边形各顶点的坐标\n");
for(i=0;i<n;i++)
{j=0;
printf("(X%d,Y%d):",i,i);
scanf("%f,%f",&x[i][j],&x[i][j+1]);
}
p=x;
area=Area(p,n);
printf("The area of the polygon is :%f\n",area);
}


请教各位大虾,我的程序到底错在何处,为什么我每次运行结果都是0.0000

感激不尽!!!

[此贴子已经被作者于2006-11-1 18:42:38编辑过]

搜索更多相关主题的帖子: 多边形 面积 
2006-11-01 18:40
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 
以下是引用xianlin_lea在2006-11-1 18:40:52的发言:

设构成多边形的坐标串为(xi,yi)(i=1,2,……,n),求此多边形面积A。


#include<math.h>
#define N 10
float Area(float (*x)[2],int n)
{float sum=0;
int i=0,j;
for(;i<n;i++)
{j=i+1;
if(j==n)
j=0;
sum+=(x[j][0]+x[i][0])*(x[j][1]-x[i][1]);
}
sum=(1/2.0)*(fabs(sum));
return sum;
}

main()
{int n,i,j;
float x[N][2],(*p)[2],area;
printf("输入多边形的边数:");
scanf("%d",&n);
printf("输入多边形各顶点的坐标\n");
for(i=0;i<n;i++)
{j=0;
printf("(X%d,Y%d):",i,i);
scanf("%f,%f",&x[i][j],&x[i][j+1]);
}
p=x;
area=Area(p,n);
printf("The area of the polygon is :%f\n",area);
}


请教各位大虾,我的程序到底错在何处,为什么我每次运行结果都是0.0000

感激不尽!!!



2006-11-01 19:52
xianlin_lea
Rank: 1
等 级:新手上路
帖 子:72
专家分:0
注 册:2006-10-6
收藏
得分:0 
请问"我不是郭靖"
为什么作这一点改动就会完全影响运行的结果呢?
百思不得其解!
还望赐教!
谢谢!

2006-11-01 20:02
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 
因为
1/2等于0
1/2.0等于0.5

2006-11-01 20:03
xianlin_lea
Rank: 1
等 级:新手上路
帖 子:72
专家分:0
注 册:2006-10-6
收藏
得分:0 

明白!

谢谢!


2006-11-01 20:41
快速回复:多边形的面积问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016909 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved