# Check whether a given point lies on or inside the rectangle | Set 3

• Difficulty Level : Basic
• Last Updated : 31 Aug, 2022

Given two numbers a and b where b < a form a rectangle with points (0, b), (b, 0), (a-b, b), (b, a-b). Given a point (x, y), the task is to check whether this point lies inside or on the rectangle or not.
Examples:

```Input: a = 7, b = 2, x = 5, y = 2;
Output: Given point does not lie on the rectangle

Input: a = 7, b = 2, x = 4, y = 5;
Output: Given point lies inside the rectangle```

Approach: An efficient way is to form 4 line’s equation of a rectangle. Then, if a given point lies in or on the rectangle if and only if, substituting the given point on:

1. The right sideline ( x-y-b = 0 ) must give the value less than or equals to zero.
2. The left sideline ( x-y+a = 0 ) must give the value greater than or equals to one.
3. The upper sideline ( x+y-2*a+b = 0 ) must give the value less than or equals to zero.
4. The lower sideline ( x+y-b = 0 ) must give the value greater than or equals to one.

## C++

 `// C++ program to Check whether a given point``// lies inside or on the rectangle or not``#include ``using` `namespace` `std;` `// function to Check whether a given point``// lies inside or on the rectangle or not``bool` `LiesInsieRectangle(``int` `a, ``int` `b, ``int` `x, ``int` `y)``{``    ``if` `(x - y - b <= 0 && x - y + b >= 0``        ``&& x + y - 2 * a + b <= 0 && x + y - b >= 0)``        ``return` `true``;` `    ``return` `false``;``}` `// Driver code``int` `main()``{``    ``int` `a = 7, b = 2, x = 4, y = 5;` `    ``if` `(LiesInsieRectangle(a, b, x, y))``        ``cout << ``"Given point lies inside the rectangle"``;``    ``else``        ``cout << ``"Given point does not lie on the rectangle"``;` `return` `0;``}`

## C

 `// C program to Check whether a given point``// lies inside or on the rectangle or not``#include ``#include ` `// function to Check whether a given point``// lies inside or on the rectangle or not``bool` `LiesInsieRectangle(``int` `a, ``int` `b, ``int` `x, ``int` `y)``{``    ``if` `(x - y - b <= 0 && x - y + b >= 0``        ``&& x + y - 2 * a + b <= 0 && x + y - b >= 0)``        ``return` `true``;` `    ``return` `false``;``}` `// Driver code``int` `main()``{``    ``int` `a = 7, b = 2, x = 4, y = 5;` `    ``if` `(LiesInsieRectangle(a, b, x, y))``        ``printf``(``"Given point lies inside the rectangle"``);``    ``else``        ``printf``(``"Given point does not lie on the rectangle"``);` `return` `0;``}` `// This code is contributed by kothavvsaakash.`

## Java

 `// Java program to Check whether``// a given point lies inside or``// on the rectangle or not``class` `GFG``{` `// function to Check whether``// a given point lies inside``// or on the rectangle or not``static` `boolean` `LiesInsieRectangle(``int` `a, ``int` `b,``                                  ``int` `x, ``int` `y)``{``if` `(x - y - b <= ``0` `&& x - y + b >= ``0` `&&``    ``x + y - ``2` `* a + b <= ``0` `&& x + y - b >= ``0``)``    ``return` `true``;` `return` `false``;``}` `// Driver code``public` `static` `void` `main(String[] args)``{``    ``int` `a = ``7``, b = ``2``, x = ``4``, y = ``5``;` `    ``if` `(LiesInsieRectangle(a, b, x, y))``        ``System.out.println(``"Given point lies "` `+``                        ``"inside the rectangle"``);``    ``else``        ``System.out.println(``"Given point does not "` `+``                            ``"lie on the rectangle"``);``}``}` `// This code is contributed``// by ChitraNayal`

## Python3

 `# Python 3 program to Check whether``# a given point lies inside or on``# the rectangle or not` `# function to Check whether a given``# point lies inside or on the``# rectangle or not``def` `LiesInsieRectangle(a, b, x, y) :` `    ``if``(x ``-` `y ``-` `b <``=` `0` `and``       ``x ``-` `y ``+` `b >``=` `0` `and``       ``x ``+` `y ``-` `2` `*` `a ``+` `b <``=` `0` `and``       ``x ``+` `y ``-` `b >``=` `0``) :``        ``return` `True``    ` `    ``return` `False` `# Driver code``if` `__name__ ``=``=` `"__main__"` `:` `    ``# multiple assignments``    ``a, b, x, y ``=` `7``, ``2``, ``4``, ``5` `    ``if` `LiesInsieRectangle(a, b, x, y) :``        ``print``(``"Given point lies inside"``                      ``" the rectangle"``)``    ``else` `:``        ``print``(``"Given point does not lie"``                    ``" on the rectangle"``)` `# This code is contributed by ANKITRAI1`

## C#

 `// C# program to Check whether``// a given point lies inside``// or on the rectangle or not``using` `System;``class` `GFG``{` `// function to Check whether``// a given point lies inside``// or on the rectangle or not``static` `bool` `LiesInsieRectangle(``int` `a, ``int` `b,``                               ``int` `x, ``int` `y)``{``if` `(x - y - b <= 0 &&``    ``x - y + b >= 0 &&``    ``x + y - 2 * a + b <= 0 &&``    ``x + y - b >= 0)``    ``return` `true``;` `return` `false``;``}` `// Driver code``public` `static` `void` `Main()``{``    ``int` `a = 7, b = 2, x = 4, y = 5;` `    ``if` `(LiesInsieRectangle(a, b, x, y))``        ``Console.Write(``"Given point lies "` `+``                   ``"inside the rectangle"``);``    ``else``        ``Console.Write(``"Given point does not "` `+``                       ``"lie on the rectangle"``);``}``}` `// This code is contributed``// by ChitraNayal`

## PHP

 `= 0 &&``        ``\$x` `+ ``\$y` `- 2 * ``\$a` `+ ``\$b` `<= 0 &&``        ``\$x` `+ ``\$y` `- ``\$b` `>= 0)``        ``return` `true;` `    ``return` `false;``}` `// Driver code``\$a` `= 7;``\$b` `= 2;``\$x` `= 4;``\$y` `= 5;` `if` `(LiesInsieRectangle(``\$a``, ``\$b``,``                       ``\$x``, ``\$y``))``    ``echo` `"Given point lies "``.``         ``"inside the rectangle"``;``else``    ``echo` `"Given point does not"``.``        ``" lie on the rectangle"``;` `// This code is contributed by mits``?>`

## Javascript

 ``

Output:

`Given point lies inside the rectangle`

Time Complexity: O(1), since there is no loop or recursion.
Auxiliary Space: O(1), since no extra space has been taken.

My Personal Notes arrow_drop_up