C++编程!已知矩形,判断输入的点是否包含在该矩形内。 c++判断一点在不在四个点组成的矩形内部

\u600e\u4e48\u5224\u65ad\u5f53\u524d\u5750\u6807\u662f\u5426\u5728\u77e9\u5f62\u5185\uff08\u5916\uff09\u90e8

\u7f16\u7a0b\uff1f\u8fd8\u662f\u76f4\u63a5\u8bf4\u65b9\u6cd5\uff1f
\u521a\u89e3\u7b54\u8fc7\u540c\u6837\u7684\u9898\u76ee\uff0c\u662f\u9700\u8981C\u8bed\u8a00\u7f16\u7a0b\uff0c\u800c\u4e14\u5224\u5b9a\u8fc7\u7a0b\u7528\u51fd\u6570\u3002
\u4ee3\u7801\u5982\u4e0b\uff1a
#include

int check(float a,float b,float c,float d,float x,float y)
{
if((xa+c)||(yb+d))
return 1;
else if((x>a)&&(xb)&&(y<b+d))
return 2;
else return 0;
}

void main()
{
float a,b,c,d,x,y;
int p=0;
printf("\u8bf7\u8f93\u5165\u77e9\u5f62\u7684\u5de6\u4e0b\u89d2\u70b9\u5750\u6807\u548c\u77e9\u5f62\u7684\u957f\u3001\u5bbd: ");
scanf("%f,%f,%f,%f",&a,&b,&c,&d);
printf("\u8bf7\u8f93\u5165\u70b9\u7684\u5750\u6807: ");
scanf("%f,%f",&x,&y);
p=check(a,b,c,d,x,y);
switch(p)
{
case 1: printf("\u70b9\u5728\u77e9\u5f62\u5916\u8fb9\u3002");break;
case 2: printf("\u70b9\u5728\u77e9\u5f62\u5185\u90e8\u3002");break;
default: printf("\u70b9\u5728\u77e9\u5f62\u7684\u8fb9\u4e0a\u3002");break;
}
}
\u8fd0\u884c\u793a\u4f8b\uff1a

windows \u6709\u63d0\u4f9b\u5224\u65ad\u7684\u51fd\u6570\uff1b \u662f\u4ec0\u4e48\u5fd8\u8bb0\u4e86\uff1b \u4f60\u767e\u5ea6\u4e00\u4e0b\uff1b
\u4e5f\u53ef\u4ee5\u81ea\u5df1\u5199\u4e00\u4e2a\u51fd\u6570\uff1a
\u4ee5UI\u5750\u6807\u7cfb\u4e3a\u4f8b\uff1b
\u5047\u8bbe \u6709\u70b9 POINT p\uff1b\u3000\u4e0e\u3000RECTr \uff1b
\u5982\u679c p.x > r.leftup.x && p.x r.leftup.y && p.y < r.rightdown.y ; \u5728\u77e9\u5f62\u5185\uff1b
\u5982\u679c\u4e0a\u8ff0\u4efb\u610f\u6761\u4ef6 \u76f8\u7b49\uff1b \u5728\u77e9\u5f62\u4e0a\uff1b
\u5176\u4ed6 \u5728\u4e3e\u884c\u5916\uff1b

通过已知点矩形对角线顶点形成的角度差来判断,如果差值在大于90度且小于270度,则点在矩形内部,如果角度差等于90度或270度,则已知点在矩形的边上,其他情况在矩形的外面。
下面附一段AutoCAD LISP代码,但愿对你有帮助。
;;;计算三点间角度差
;;;参数: pt0 基点坐标
;;; pt1 第一点坐标
;;; pt2 第二点坐标
;;;
;;;返回值 三点的角度差(单位:弧度)
(defun angle3p (pt0 pt1 pt2 / ang)
(setq ang (- (angle pt0 pt2) (angle pt0 pt1)))
(if (< ang 0)
(setq ang ( ang (* 2 pi))
)
)
ang
)

#include<stdlib.h>
#include<stdio.h>
typedef struct{
  float x;
  float y;
}cordinate;

void judage(cordinate *col,int num){  
  cordinate leftBottom_col,rightTop_col;
  //坐标初始化
  leftBottom_col.x=1.0;
  leftBottom_col.y=1.0;
  rightTop_col.x=5.0;
  rightTop_col.y=5.0;
  for(int i=0;i<num;i++){
     if(col[i].x<=rightTop_col.x && col[i].x>=leftBottom_col.x  &&col[i].y<=rightTop_col.y && col[i].y>=leftBottom_col.y){
       printf("坐标:(%f,%f) : in
",col[i].x,col[i].y);
     }else{
       printf("坐标:(%f,%f) : out
",col[i].x,col[i].y);
     }
  }
   
}

int main(){
  int num;
  printf("输入点的个数:");
  scanf("%d",&num);
  cordinate *col=(cordinate *)malloc(sizeof(cordinate)*num);
  for(int i=0;i<num;i++){
      scanf("%f %f",&col[i].x,&col[i].y);
 }
 judage(col,num);
 return 0;
}


给你个C语言~
你自己改改吧~

#include<stdio.h>

int a[2]={1,1};
int b[2]={5,5};
int c[1000];
int i,j,x,y;

int judge(int h,int k)
{
if((a[0]<=h&&h<=b[0])&&(a[1]<=k&&k<=b[1]))
return 1;
else
return 0;
}

void main()
{
scanf("%d",&i);

for(j=0;j<i;j++)
{
scanf("%d %d",&x,&y);

if(judge(x,y))
c[j]=1;
else
c[j]=0;
}
for(j=0;j<i;j++)
{
if(c[j]==1)
printf("in\n");
else
printf("out\n");
}
while(1);
}

#include<iostream>
using namespace std;
int judge(int x,int y)
{
if(x>=1 && x<=5 && y>=1 && y<=5)
{
return 1;
}
else
{
return -1;
}
}
int main()
{
int N;
cin>>N;
while(N--)
{
int x,y;
cin>>x>>y;
if(judge(x,y)==1)
{
cout<<"in"<<endl;
}
else
{
cout<<"out"<<endl;
}
}
return 0;
}


  • C++缂栫▼!宸茬煡鐭╁舰,鍒ゆ柇杈撳叆鐨勭偣鏄惁鍖呭惈鍦ㄨ鐭╁舰鍐呫
    绛旓細閫氳繃宸茬煡鐐鐭╁舰瀵硅绾块《鐐瑰舰鎴愮殑瑙掑害宸潵鍒ゆ柇锛濡傛灉宸煎湪澶т簬90搴︿笖灏忎簬270搴︼紝鍒欑偣鍦ㄧ煩褰㈠唴閮紝濡傛灉瑙掑害宸瓑浜90搴︽垨270搴︼紝鍒欏凡鐭ョ偣鍦ㄧ煩褰㈢殑杈逛笂锛屽叾浠栨儏鍐靛湪鐭╁舰鐨勫闈備笅闈㈤檮涓娈礎utoCAD LISP浠g爜锛屼絾鎰垮浣犳湁甯姪銆;;;璁$畻涓夌偣闂磋搴﹀樊 ;;;鍙傛暟: pt0 鍩虹偣鍧愭爣 ;;; pt1 绗竴鐐瑰潗鏍 ;;; ...
  • C璇█,缁欏畾涓涓鐭╁舰鍜屼竴涓偣,鍒ゆ柇杩欎釜鐐逛笌鐭╁舰鐨勪綅缃叧绯(椤剁偣 杈 鐭╁舰...
    绛旓細float y){if((xa+c)||(ya+c+d))return 1;else if((x>a)&&(xb)&&(y
  • 缂栧啓涓涓狢++绋嬪簭,鏍规嵁鐢ㄦ埛杈撳叆鐨勪妇琛鐭╁舰鐨勯暱鍜屽,璁$畻鐭╁舰鐨勫懆闀垮拰闈...
    绛旓細main(){ double a, b, z, c;cin>>a>>b;//杈撳叆闀垮拰瀹 z=a*b;//璁$畻闈㈢Н c=2*(a+b);//璁$畻鍛ㄩ暱 cout<<"鐭╁舰闈㈢Н"<< z<<" "<<"鐭╁舰鍛ㄩ暱"<< c<<endl;}
  • 濡備綍鐢c璇█缂栫▼杈撳叆34寰楀埌鐭╁舰鐨勯潰绉
    绛旓細杈撳叆3 4鐨勮瘽锛岀紪璇戝嚭鏉ョ殑缁撴灉灏辨槸3*4=12銆
  • C璇█缂栫▼,鎬庝箞鍒ゆ柇鐐瑰湪鐭╁舰鍐呴儴
    绛旓細include <stdio.h>void main(){int a,b,c,d,m,n,t;scanf("%d%d",&m,&n);scanf("%d%d%d",&a,&b,&c,&d);if(a>c) {t=a;a=c;c=t;}if(b>d) {t=b;b=d;d=t;}(m>=a&&m<=c&&n>=b&&n<=d)?printf("YES"):printf("NO");} ...
  • c璇█缂栫▼ 鎵撳嵃鍥惧舰,鑿滃崟鍖呮嫭:鐭╁舰,骞宠鍥涜竟褰,杈撳叆鍥惧舰鐨勮鏁般佸垪鏁...
    绛旓細define true 1 void print(char cType, int iRow, int iColumn, char cMark){ int i,j;if(cType == 'A'){ for(i = 0; i < iRow; i++){ for(j = 0; j < iColumn; j++){ printf("%c ", cMark);} printf("\n");} } else if(cType == 'B'){ for(i = 0; i ...
  • c缂栫▼姹傝В!
    绛旓細杩欓噷棣栧厛瑕佸埄鐢╒C++鎻愪緵鐨勬鏋剁敓鎴愬櫒鐢熸垚搴旂敤绋嬪簭鐨勪富妗嗘灦,鐒跺悗鍒╃敤璁惧鐜涓殑CDC绫昏皟鐢ㄥ叾涓殑Rectangle()鏂规硶鏉ョ粯鍒朵綘杈撳叆鐨 r 8.5 17.0 25.5 -8.5 r 0.0 10.3 5.5 0.0 杩2涓鐭╁舰,鐒跺悗璋冪敤CDC绫讳腑鐨凷etPixel()鏂规硶寰楀埌 2.0 2.0 4.7 5.3 杩2鐐,鐒跺悗鎶婃瘡涓偣鐨勬í鍧愭爣涓庣煩褰㈢殑...
  • C璇█缂栫▼:杈撳叆5琛5鍒鐭╁舰鐨勫悇鍏冪礌鍊,姹傚瑙掔嚎涓婄殑鍊兼渶灏忕殑鍏冪礌鍙婅捣鍦...
    绛旓細int main(void){ int a[5][5],i,j,sumr=0,suml=0,min,x,y;for (i=0;i<5;++i)for(j=0;j<5;++j)scanf("%d",&a[i][j]);for (i=0;i<5;++i){ sumr+=a[i][i];suml+=a[i][4-i];} printf("宸﹀瑙掔嚎:%d\n鍙冲瑙掔嚎:%d\n",sumr,suml);for (i=0,min=a[0]...
  • 浣跨敤c璇█缂栫▼杈撳嚭浠ヤ笅鍥惧舰璇ユ庝箞鍐欏憖?
    绛旓細int main(){ int width,height; //瀹藉害&楂樺害 int i,j,k; //涓変釜寰幆鍙橀噺,璁句竴涓篃鍙互锛屼笉杩囪繖鏍峰ソ鐞嗚В printf("璇杈撳叆鐭╁舰鐨勫搴:");scanf("%d",&width);printf("璇疯緭鍏ョ煩褰㈢殑楂樺害:");scanf("%d",&height);//杈撳嚭绗竴琛 for(i=0;i<width;i++){ printf("*");} printf("...
  • 鎬ユ!!! 杈撳叆鍥涚粍鍧愭爣鍒ゆ柇鏄惁缁勬垚涓鐭╁舰 C++
    绛旓細include<cmath> using namespace std;int getlength(int,int);int main(){ int k=0;//浣滀负鍒ゆ柇鐭╁舰鐨勬爣蹇 bool fund=true;int a[4][2]={0};int x[4]={0};//瀛樺偍鍧愭爣x int y[4]={0};//瀛樺偍鍧愭爣y cout<<"four couple of num:"<<endl;for(int i=0;i<4&&fund==true;i++)...
  • 扩展阅读:信息学奥赛c++编程 ... 小学生c++趣味编程视频 ... 小学生c++ ... c++编程适合几岁学 ... c++免费视频教程 ... 手机c++编程软件 ... c++和python先学哪个 ... 判断回文数c++语言程序 ... 编程c++语言入门自学 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网