Dadas las coordenadas de las esquinas inferior izquierda y superior derecha de un rectángulo. Comprueba si un punto (x, y) se encuentra dentro de este rectángulo o no.
Ejemplos:
Entrada: abajo a la izquierda: (0, 0), arriba a la derecha: (10, 8), punto: (1, 5)
Salida: SíEntrada: abajo a la izquierda: (-1, 4), arriba a la derecha: (2, 3), punto: (0, 4)
Salida: No
Este problema ya se trató en un post anterior . En esta publicación, hemos discutido un nuevo enfoque.
Enfoque: si observamos con atención, será claro que para que un punto se encuentre dentro del rectángulo, debe estar dentro de la coordenada x (x1, x2) del rectángulo, así como también debe estar dentro de la y- coordenada (y1, y2) del rectángulo.
Algoritmo:
- Compruebe si la coordenada x del punto dado (x, y) se encuentra dentro de la coordenada x (x1, x2) del rectángulo, es decir, x > x1 y x < x2
- Compruebe si la coordenada y del punto dado (x, y) se encuentra dentro de la coordenada y (y1, y2) del rectángulo, es decir, y > y1 e y < y2
- Si ambas condiciones anteriores se cumplen entonces,
- El punto dado se encuentra completamente dentro del rectángulo.
- De otra forma no.
A continuación se muestra la implementación del enfoque anterior:
C++
// 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
// 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
// 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
# 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#
// 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 // 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) ?>
Javascript
<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
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por pawan_asipu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA