题目描述:

给出了正方形的坐标x,y和边长a,那么正方形的对角分别为x,y和x+a,y+a,给一个坐标,问坐标是否在正方形中(边界上也算)

输入:

3 2 8
8 10

输出:

yes

编写简单函数:

bool IsinRange(int a, int Num, int b) {return a <= Num && Num <= b;
}

题目扩充:

1 如果是矩形呢?
2 如果给的是矩形的(左上和右下)(左下和右上)

#include<iostream>using namespace std;int square[55];
const int minint = -100000000;
int lx[55], ly[55], rx[55], ry[55];
bool insquare[55];bool IsinRange(int a, int Num, int b) {return a <= Num && Num <= b;
}
bool legal(int a, int Num, int b) {if (a>b){return IsinRange(b, Num, a);}else{return IsinRange(a, Num, b);}
}
int Getlength(int x1, int x2) {if (x1>x2){return x1 - x2;}else{return x2 - x1;}
}
//求面积
int Getsquare(int x1, int y1, int x2, int y2) {int x, y;x = Getlength(x1, x2);y = Getlength(y1, y2);return x * y;
}int main()
{int i = 0, j = 0,k = 0;int n;int gx, gy;cin >> n;for ( i = 0; i <n ; i++){cin >> lx[i] >> ly[i] >> rx[i] >> ry[i];}for ( i = 0; i < n; i++){square[i] = Getsquare(lx[i], ly[i], rx[i], ry[i]);}for ( i = 0; i < n; i++){cin >> gx >> gy;}for ( i = 0; i < n; i++){if (legal(lx[i],gx,rx[i])&&legal(ly[i],gx,ry[i])){insquare[i] = true;}}return 0;
}

例题:
题目描述

地图上有若干个导电矩形,长度大小不一(矩形四个角的坐标x,y<=10000)而且电工觉得,反正矩形很标准,边都平行于坐标轴,所以矩形随便给两个对角的点就够了……这电工觉得你够聪明。
在某个位置有一个电针,而且放出了一股电流,只有包含(包括在边界上)了电针的矩形才有可能将这电流导流,而最终面积最大的矩形是导流的矩形。
求这个矩形是输入数据中给出的第几个矩形

输入

第一行是一个数字n,表示矩形个数
接下来n行,
每行4个整数,x1,y1,x2,y2,表示第i号矩形对角的坐标
接下来1行,两个整数x,y,表示电针的坐标

输出

一个整数,表示导流的矩形的编号(如果面积相等,那么编号尽可能的小)

样例输入

3
6 8 2 3
1 3 5 6
8 2 1 9
4 4

样例输出

3

#include<iostream>using namespace std;int square[55];
const int minint = -100000000;
int lx[55], ly[55], rx[55], ry[55];
bool insquare[55];bool IsinRange(int a, int Num, int b) {return a <= Num && Num <= b;
}
bool legal(int a, int Num, int b) {if (a>b){return IsinRange(b, Num, a);}else{return IsinRange(a, Num, b);}
}
int Getlength(int x1, int x2) {if (x1>x2){return x1 - x2;}else{return x2 - x1;}
}
//求面积
int Getsquare(int x1, int y1, int x2, int y2) {int x, y;x = Getlength(x1, x2);y = Getlength(y1, y2);return x * y;
}int main()
{int i = 0, j = 0,k = 0;int n;int gx, gy;int a;cin >> n; //n个矩形//读入n个矩形点的坐标for ( i = 0; i < n ; i++){cin >> lx[i] >> ly[i] >> rx[i] >> ry[i];}for ( i = 0; i < n; i++){square[i] = Getsquare(lx[i], ly[i], rx[i], ry[i]);}//读入电针坐标cin >> gx >> gy;for ( i = 0; i < n; i++){if (legal(lx[i],gx,rx[i])&&legal(ly[i],gx,ry[i])){insquare[i] = true;}}a = 0;int maxsquare = minint;for (i = 0; i < n; i++){if (maxsquare < square[i]) //比较大小{if (insquare[i]) // 判断合法性{maxsquare = square[i];a = i;}}}cout << a+1 << endl;return 0;
}

求一点是否在正方形/矩形中相关推荐

  1. Java中定义抽象类Shape,其中包含抽象方法double getPeremeter( )求周长和double getArea( )求面积。 定义一个矩形类,继承此抽象类,并自行扩充成员变量和方法。

    Java中定义抽象类Shape,其中包含抽象方法double getPeremeter( )求周长和double getArea( )求面积. 定义一个矩形类,继承此抽象类,并自行扩充成员变量和方法, ...

  2. matlab二维图形中确定一点的坐标系,在CAD中已知一个平面图中两个点的坐标如何建立坐标系以便求出图形中任一点的坐标?...

    在CAD中已知一个平面图中两个点的坐标如何建立坐标系以便求出图形中任一点的坐标?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一 ...

  3. a推b等价于非a或b_探究正方形网格中互相垂直的两条直线(非网格线)

    2020年天津中考数学第18题改编(预备)题3,正方形网格中互相垂直的两条直线(非网格线) 例1 如图,点A,B都是正方形网格上的格点,请用没有刻度的直尺画出过点A且与AB垂直的直线,并简要说明理由. ...

  4. WinAPI: PtInRect - 判断点是否在矩形中

    为什么80%的码农都做不了架构师?>>>    本例效果图: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variant ...

  5. php实现 求int型数据在内存中存储时1的个数(函数都可自己实现)

    php实现 求int型数据在内存中存储时1的个数(函数都可自己实现) 一.总结 一句话总结:函数我们自己都可以实现,尤其是很多基础函数,没有工具的时候自己写. 1.php进制转换函数? base_co ...

  6. python判断点在矩形内_Python测试点是否在矩形中

    我是python的新手,仍然学习绳索??,但是我希望有更多经验的人可以帮助我. 我正在尝试编写以下Python脚本: >创造四个点 >创建四个矩形 >检查每个点是否在任何矩形中,然后 ...

  7. python求斐波那契数列第n个数及前n项和_使用python求斐波那契数列中第n个数的值示例代码...

    斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为"兔子数列&qu ...

  8. Java黑皮书课后题第3章:**3.23(几何:点是否在矩形内)编写程序,提示用户输入点(x,y),然后检测该点是否在以原点为中心、宽为10、高为5的矩形中

    @TOC,然后检测该点是否在以原点为中心.宽为10.高为5的矩形中) 题目 题目概述 **3.23(几何:点是否在矩形内)编写程序,提示用户输入点(x,y),然后检测该点是否在以原点为中心.宽为10. ...

  9. Java黑皮书课后题第3章:3.16(随机点)编写程序,显示矩形中一个随机点的坐标。矩形中心位于(0,0),宽100高200

    3.16(随机点)编写程序,显示矩形中一个随机点的坐标.矩形中心位于(0,0),宽100高200 题目 题目描述 破题 代码 题目 题目描述 3.16(随机点)编写程序,显示矩形中一个随即点的坐标.矩 ...

最新文章

  1. JS 缓存 设置临时缓存和长期缓存 sessionStorage localStorage
  2. Dedecms5.7搜索结果页空白无内容的解决方法
  3. 使用 WebIDE 三分钟上手函数计算
  4. python安装教程32位-python为什么要装32位的
  5. kafka偏移量保存到mysql里_SparkStreaming+kafka保存offset的偏移量到mysql案例
  6. 2018蓝桥杯省赛---java---A---7(三体攻击)
  7. PowerDesigner使用教程 —— 概念数据模型 (转)
  8. 数值的八进制、十六进制表示,及以二进制进行显示
  9. paip.提升用户体验---提示语
  10. OpenCV-图像处理(28、轮廓发现(find contour in your image))
  11. 3DMAX 2018 界面简介
  12. 安装XAMPP遇到的问题(一)——要求关闭UAC以及权限问题
  13. 中国地质大学英语语音学习笔记(二):辅音(辅音,与清辅音浊化)
  14. 【Elasticsearch教程13】Mapping字段类型之nested
  15. 论文阅读: Spatial transformer networks
  16. 怎么学好Web前端开发 有哪些相关书籍推荐
  17. 数据库学习笔记—MySQL技术nei幕—第一章—MySQL体系结构和存储引擎
  18. 常用的技术网站(一)
  19. 机器学习入门难?说说我是如何快速开始机器学习入门的!
  20. 北京大学MEM提前面试历年真题-文都管联院

热门文章

  1. 有哪些视频剪辑软件比较好用?
  2. 5款经典代码阅读器的使用方案对比
  3. Spring Cloud与Dubbo优缺点(面试题)
  4. 线下失守、高端难攻,vivo 2020开年太难
  5. 【原创】Python 图片拼接
  6. 安付通app--中小企业的好帮手
  7. 文件上载限制4gb_上传文件时,百度网盘提示:超过4G限制怎么破?
  8. 【每天一个java设计模式(二十三)】 - 访问者模式
  9. 九亿条数据汇聚之下的技术脉动
  10. Linux的启动流程