C++编程!已知矩形,判断输入的点是不是包含在该矩形内。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++编程!已知矩形,判断输入的点是不是包含在该矩形内。相关的知识,希望对你有一定的参考价值。
Description
对于一个已知的矩形,判断输入的点是否包含在该矩形内。
矩形用对角线上的两个点来定义(左下角点和右上角点)。
已知矩形的左下角点为(1,1),右上角点为(5,5)。
要求编写一个函数判断点是否在矩形内,如果在内则返回1,否则返回-1
主函数调用该判断函数,如果返回1则输出in,返回-1则输出out
Input
输入点的个数和每个点的坐标
Output
在矩形内部还是外部
Sample Input
3
1 1
5 5
5 10
Sample Output
in
in
out
请用C++语言解答,感激不尽!
下面附一段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
) 参考技术A #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\\n",col[i].x,col[i].y);
else
printf("坐标:(%f,%f) : out\\n",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;
参考技术B 给你个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);
参考技术C #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++编程!已知矩形,判断输入的点是不是包含在该矩形内。的主要内容,如果未能解决你的问题,请参考以下文章