C++判断一个点是否在圆内的方法

本文为大家分享了C++如何判断一个点是否在圆内的方法,供大家参考,具体内容如下

圆的头文件

#ifndef __CRICLE_H__
#define __CRICLE_H__
#include "point.h"
class Circle
{
public:
  //创建圆
  void init(int r, int x, int y);
  //判断点是否在 当前圆 内
  bool inCircle(Point &p);
private:
  Point _c;
  int _r;
}; 

#endif// __CRICLE_H__ 

点的头文件

#ifndef __POINT_H__
#define __POINT_H__ 

class Point
{
public:
  //创建点
  void init(int x, int y);
  //测一个点和当前点的距离的平方
  int distance(Point &p);
private:
  int _x;
  int _y;
}; 

#endif//__POINT_H__ 

圆的源文件

#include "circle.h" 

void Circle::init(int r, int x, int y)
{
  _r = r;
  _c.init(x, y);
} 

bool Circle::inCircle(Point &p)
{
  //计算点p和 当前圆圆心c 的距离
  int dis = p.distance(_c); 

  //和半径比较
  if (dis <= _r*_r)
    return true;
  else
    return false;
} 

点的源文件

#include "point.h" 

void Point::init(int x, int y)
{
  _x = x;
  _y = y;
} 

int Point::distance(Point &p)
{
  int dis = (_x-p._x)*(_x-p._x)
    + (_y-p._y)*(_y-p._y); 

  return dis;
} 

main文件

#include <iostream>
#include "circle.h"
#include "point.h"
using namespace std; 

int main()
{
  //一个点
  Point p;
  p.init(1,2); 

  Circle c;
  c.init(3, 0, 0); 

  if (c.inCircle(p))
    cout << "在圆内" << endl;
  else
    cout << "在圆外" << endl; 

  return 0;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C++计算图任意两点间的所有路径

    基于连通图,邻接矩阵实现的图,非递归实现. 算法思想: 设置两个标志位,①该顶点是否入栈,②与该顶点相邻的顶点是否已经访问. A 将始点标志位①置1,将其入栈 B 查看栈顶节点V在图中,有没有可以到达.且没有入栈.且没有从这个节点V出发访问过的节点 C 如果有,则将找到的这个节点入栈,这个顶点的标志位①置1,V的对应的此顶点的标志位②置1 D 如果没有,V出栈,并且将与v相邻的全部结点设为未访问,即全部的标志位②置0 E 当栈顶元素为终点时,设置终点没有被访问过,即①置0,打印栈中元素,弹出栈顶

  • C++判断一个点是否在圆内的方法

    本文为大家分享了C++如何判断一个点是否在圆内的方法,供大家参考,具体内容如下 圆的头文件 #ifndef __CRICLE_H__ #define __CRICLE_H__ #include "point.h" class Circle { public: //创建圆 void init(int r, int x, int y); //判断点是否在 当前圆 内 bool inCircle(Point &p); private: Point _c; int _r; }; #en

  • 判断一个变量是数组Array类型的方法

    在很多时候,我们都需要对一个变量进行数组类型的判断.JavaScript中如何判断一个变量是数组Array类型呢?我最近研究了一下,并分享给大家,希望能对大家有所帮助. JavaScript中检测对象的方法 1.typeof操作符 这种方法对于一些常用的类型来说那算是毫无压力,比如Function.String.Number.Undefined等,但是要是检测Array的对象就不起作用了. 复制代码 代码如下: alert(typeof null); // "object" alert

  • Android开发判断一个app应用是否在运行的方法详解

    本文实例讲述了Android开发判断一个app应用是否在运行的方法.分享给大家供大家参考,具体如下: 在一个应用中,或一个Service .Receiver中有时候需要判断一个应用是否正在运行,以便进行一些相关的处理,这个时候我们需要得到一个ActivityManager,这个Manager顾名思意就是管理Activity的,它有一个方法叫getRunningTasks,可以得到当前系统正在运行的Task的列表,代码如下: ActivityManager am = (ActivityManage

  • JavaScript判断一个URL链接是否有效的实现方法

    引言 有一个通讯录系统, 同时部署在几台服务器上, 但是主页上有个通讯录的链接, 链接到这个系统. 问题是, 有时候链接指向的服务器出故障, 于是希望在这个服务器出故障(服务不可用)的情况下, 能指向其他服务器的链接. 解决方案一: XMLHTTP方案 以下代码摘自[2]中meizz的回帖: 复制代码 代码如下: <script language= "javascript"> function getURL(url) { var xmlhttp = new ActiveXO

  • php 快速判断一个数字属于什么范围的实现方法

    需求是这样 ... if ( $foo > 0 && $foo < 100 ) $bar = 1; elseif ( $foo > 99 && $foo < 212 ) $bar = 2; elseif ( $foo > 211 && $foo < 324 ) $bar = 3; elseif ( $foo > 323 && $foo < 382 ) $bar = 4; elseif ( $fo

  • Lua判断一个目录或文件是否存在的方法

    一.使用io.open Open 一下就可以了. 复制代码 代码如下: file,err=io.open("XXXX") 如果文件正常打开 file为文件句柄,err 为 nil .否则 file 为 nil ,err为错误信息 "drr: No such file or directory". 只需要 open 一下.然后看看返回值. 复制代码 代码如下: somefile="xxxj.pdf" local F,err=io.open(some

  • Android如何判断一个点在不在多边形区域内

    有人问我,怎么判断一个点是不是在多边形内,本来想着把这个多边形分成一个又一个三角形,如图, 然后判断这个点是不是在某个三角形中,如果在,那就肯定在这个多边形中,那问题接下来就转化成判断这个点是不是在三角形中了,只要这个点D和三角形的三个点A.B.C组合的三角形a.b.c的面积之和等于这个三角形的面积,就说明这个点在三角形中,如图. 代码如下: public boolean isInTriangle(Point A, Point B, Point C, Point P) { double ABC

  • 百度地图PC端判断用户是否在配送范围内

    最近接了个项目,其中有项目需求是这样的: 在pc端设置商家的配送范围,用户在下单时,根据用户设置的配送地点判断是否在可配送范围内,并给用户相应的提示. 下面说下我的实现思路: 1.用百度地图在PC端设置配送范围,可拖拽选择 2.根据用户设置的配送地址判断是否在配送范围内 一.百度地图PC端获取范围 改动百度地图官网的demo,设置配送范围. 思路:获取多边形的顶点,以json的形式保存到数据库. 百度API关于多边形覆盖物: 构造函数: Polygon(points:Array<Point>[

  • python怎样判断一个数值(字符串)为整数

    目录 如何判断一个数值(字符串)为整数 不严格检查方法 严格的检查方法 判断输入的字符串是否是整数还是小数 总结 如何判断一个数值(字符串)为整数 不严格检查方法 浮点数的自带方法is_integer() 如果确定输入的内容为浮点数,是可以直接使用float数的is_integer()函数来进行判定. 需要注意的是当数字是 1.0这样的不带小数数值的浮点数时,会被默认判定为整数 a=1.0 print(a.is_integer()) #结果为 True b=1.1 print(b.is_inte

  • Android编程判断当前应用是否在后台运行的方法示例

    本文实例讲述了Android编程判断当前应用是否在后台运行的方法.分享给大家供大家参考,具体如下: /** 判断程序是否在后台运行 */ public static boolean isRunBackground(Context context) { ActivityManager activityManager = (ActivityManager) context .getSystemService(Context.ACTIVITY_SERVICE); List<RunningAppProc

随机推荐