Given coordinates of bottom-left and top-right corners of a rectangle. Check if a point (x, y) lies inside this rectangle or not.
Examples:
Input: bottom-left: (0, 0), top-right: (10, 8), point: (1, 5)
Output: YesInput: bottom-left: (-1, 4), top-right:(2, 3), point:(0, 4)
Output: No
This problem is already discussed in a previous post. In this post, we have discussed a new approach.
Approach: If we observe carefully, It will be clear that for a point to be lie inside the rectangle, it should be lie inside the x-coordinate (x1, x2) of the rectangle as well as it should also lie inside the y-coordinate (y1, y2) of the rectangle.
Algorithm:
- Check if the x-coordinate of the given point (x, y) is lie inside the x-coordinate (x1, x2) of the rectangle, i.e, x > x1 and x < x2
- Check if the y-coordinate of the given point (x, y) is lie inside the y-coordinate (y1, y2) of the rectangle, i.e, y > y1 and y < y2
- If both the above condition satisfy then,
- The given point completely lie inside the rectangle.
- Otherwise, not.
Below is the implementation of the above approach:
// CPP program to Check if a // point lies on or inside a rectangle | Set-2 #include <bits/stdc++.h> using namespace std;
// function to find if given point // lies inside a given rectangle or not. bool FindPoint( int x1, int y1, int x2,
int y2, int x, int y)
{ if (x > x1 and x < x2 and y > y1 and y < y2)
return true ;
return false ;
} // Driver code int main()
{ // bottom-left and top-right
// corners of rectangle
int x1 = 0, y1 = 0, x2 = 10, y2 = 8;
// given point
int x = 1, y = 5;
// function call
if (FindPoint(x1, y1, x2, y2, x, y))
cout << "Yes" ;
else
cout << "No" ;
return 0;
} |
// C program to Check if a // point lies on or inside a rectangle | Set-2 #include <stdio.h> #include <stdbool.h> // function to find if given point // lies inside a given rectangle or not. bool FindPoint( int x1, int y1, int x2, int y2, int x, int y)
{ if (x > x1 && x < x2 && y > y1 && y < y2)
return true ;
return false ;
} // Driver code int main()
{ // bottom-left and top-right
// corners of rectangle
int x1 = 0, y1 = 0, x2 = 10, y2 = 8;
// given point
int x = 1, y = 5;
// function call
if (FindPoint(x1, y1, x2, y2, x, y))
printf ( "Yes" );
else
printf ( "No" );
return 0;
} // This code is contributed by kothavvsaakash. |
// Java program to Check if // a point lies on or inside // a rectangle | Set-2 class GFG
{ // function to find if given point // lies inside a given rectangle or not. static boolean FindPoint( int x1, int y1, int x2,
int y2, int x, int y)
{ if (x > x1 && x < x2 &&
y > y1 && y < y2)
return true ;
return false ;
} // Driver code public static void main(String[] args)
{ // bottom-left and top-right
// corners of rectangle
int x1 = 0 , y1 = 0 ,
x2 = 10 , y2 = 8 ;
// given point
int x = 1 , y = 5 ;
// function call
if (FindPoint(x1, y1, x2, y2, x, y))
System.out.println( "Yes" );
else
System.out.println( "No" );
} } // This code is contributed // by ChitraNayal |
# Python3 program to Check # if a point lies on or # inside a rectangle | Set-2 # function to find if # given point lies inside # a given rectangle or not. def FindPoint(x1, y1, x2,
y2, x, y) :
if (x > x1 and x < x2 and
y > y1 and y < y2) :
return True
else :
return False
# Driver code if __name__ = = "__main__" :
# bottom-left and top-right
# corners of rectangle.
# use multiple assignment
x1 , y1 , x2 , y2 = 0 , 0 , 10 , 8
# given point
x, y = 1 , 5
# function call
if FindPoint(x1, y1, x2,
y2, x, y) :
print ( "Yes" )
else :
print ( "No" )
# This code is contributed # by Ankit Rai |
// C# program to Check if a // point lies on or inside // a rectangle | Set-2 using System;
class GFG
{ // function to find if given // point lies inside a given // rectangle or not. static bool FindPoint( int x1, int y1, int x2,
int y2, int x, int y)
{ if (x > x1 && x < x2 &&
y > y1 && y < y2)
return true ;
return false ;
} // Driver code public static void Main()
{ // bottom-left and top-right
// corners of rectangle
int x1 = 0, y1 = 0,
x2 = 10, y2 = 8;
// given point
int x = 1, y = 5;
// function call
if (FindPoint(x1, y1, x2, y2, x, y))
Console.Write( "Yes" );
else
Console.Write( "No" );
} } // This code is contributed // by ChitraNayal |
<?php // PHP program to Check if // a point lies on or inside // a rectangle | Set-2 // function to find if given // point lies inside a given // rectangle or not. function FindPoint( $x1 , $y1 , $x2 ,
$y2 , $x , $y )
{ if ( $x > $x1 and $x < $x2 and
$y > $y1 and $y < $y2 )
return true;
return false;
} // Driver code // bottom-left and top-right // corners of rectangle $x1 = 0; $y1 = 0;
$x2 = 10; $y2 = 8;
// given point $x = 1; $y = 5;
// function call if (FindPoint( $x1 , $y1 , $x2 ,
$y2 , $x , $y ))
echo "Yes" ;
else echo "No" ;
// This code is contributed // by Akanksha Rai(Abby_akku) ?> |
<script> // Javascript program to Check if a // point lies on or inside a rectangle | Set-2 // function to find if given point // lies inside a given rectangle or not. function FindPoint(x1, y1, x2,
y2, x, y)
{ if (x > x1 && x < x2 && y > y1 && y < y2)
return true ;
return false ;
} // Driver code // bottom-left and top-right
// corners of rectangle
let x1 = 0, y1 = 0, x2 = 10, y2 = 8;
// given point
let x = 1, y = 5;
// function call
if (FindPoint(x1, y1, x2, y2, x, y))
document.write( "Yes" );
else
document.write( "No" );
// This code is contributed by Mayank Tyagi </script> |
Yes
Time Complexity: O(1)
Auxiliary Space: O(1)