UVa 476 - Points in Figures: Rectangles

来源:互联网 发布:php数组中删除指定元素 编辑:程序博客网 时间:2024/06/06 07:19

题目:点在矩形内判断。

分析:简单题、计算几何。与两个顶点比较在顶点之间即可。

注意:在边上的不算。

#include <iostream>#include <cstdlib>#include <cstdio>using namespace std;typedef struct pnode{double x,y;}point;typedef struct rnode{point p1,p2;}rect;rect R[11];int main(){char c;int  count = 0,t = 1;while ( cin >> c && c != '*' ) {cin >> R[count].p1.x >> R[count].p1.y>> R[count].p2.x >> R[count].p2.y;count ++;}point p;while ( cin >> p.x >> p.y ) {if ( p.x == 9999.9 && p.y == 9999.9 ) break;int flag = 0;for ( int i = 0 ;i < count ; ++ i )if ( R[i].p1.x < p.x && R[i].p2.x > p.x &&     R[i].p2.y < p.y && R[i].p1.y > p.y ) {flag = 1;printf("Point %d is contained in figure %d\n",t,i+1);}if ( !flag )printf("Point %d is not contained in any figure\n",t);t ++;}return 0;} 


原创粉丝点击