Comprobar si un punto se encuentra dentro de un rectángulo | Conjunto-2

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:

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>
Producción

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *