Dados tres enteros a , b y c que representan coeficientes de la ecuación de una recta a * x + b * y – c = 0 . Dados dos puntos enteros (x1, y1) y (x2, y2) . La tarea es determinar si los puntos (x1, y1) y (x2, y2) se encuentran en el mismo lado de la línea dada o no.
Ejemplos:
Entrada: a = 1, b = 1, c = 1, x1 = 1, y1 = 1, x2 = 1, y2 = 2
Salida: sí
Al aplicar (x1, y1) y (x2, y2) en a * x + b * y – c, da 1 y 2 respectivamente, los cuales tienen el mismo signo, por lo tanto, ambos puntos se encuentran en el mismo lado de la línea.
Entrada: a = 1, b = 1, c = 1, x1 = 1, y1 = 1, x2 = 0, y2 = 0
Salida: no
Enfoque: aplique ambos puntos en la ecuación de línea dada y verifique si los valores obtenidos pertenecen a la misma paridad o no.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program to check if two points // lie on the same side or not #include <bits/stdc++.h> using namespace std; // Function to check if two points // lie on the same side or not bool pointsAreOnSameSideOfLine(int a, int b, int c, int x1, int y1, int x2, int y2) { int fx1; // Variable to store a * x1 + b * y1 - c int fx2; // Variable to store a * x2 + b * y2 - c fx1 = a * x1 + b * y1 - c; fx2 = a * x2 + b * y2 - c; // If fx1 and fx2 have same sign if ((fx1 * fx2) > 0) return true; return false; } // Driver code int main() { int a = 1, b = 1, c = 1; int x1 = 1, y1 = 1; int x2 = 2, y2 = 1; if (pointsAreOnSameSideOfLine(a, b, c, x1, y1, x2, y2)) cout << "Yes"; else cout << "No"; }
Java
// Java program to check if two points // lie on the same side or not import java.util.*; class GFG { // Function to check if two points // lie on the same side or not static boolean pointsAreOnSameSideOfLine(int a, int b, int c, int x1, int y1, int x2, int y2) { int fx1; // Variable to store a * x1 + b * y1 - c int fx2; // Variable to store a * x2 + b * y2 - c fx1 = a * x1 + b * y1 - c; fx2 = a * x2 + b * y2 - c; // If fx1 and fx2 have same sign if ((fx1 * fx2) > 0) return true; return false; } // Driver code public static void main(String[] args) { int a = 1, b = 1, c = 1; int x1 = 1, y1 = 1; int x2 = 2, y2 = 1; if (pointsAreOnSameSideOfLine(a, b, c, x1, y1, x2, y2)) System.out.println("Yes"); else System.out.println("No"); } } // This code is contributed by 29AjayKumar
Python3
# Python3 program to check if two points # lie on the same side or not # Function to check if two points # lie on the same side or not def pointsAreOnSameSideOfLine(a, b, c, x1, y1, x2, y2): fx1 = 0 # Variable to store a * x1 + b * y1 - c fx2 = 0 # Variable to store a * x2 + b * y2 - c fx1 = a * x1 + b * y1 - c fx2 = a * x2 + b * y2 - c # If fx1 and fx2 have same sign if ((fx1 * fx2) > 0): return True return False # Driver code a, b, c = 1, 1, 1 x1, y1 = 1, 1 x2, y2 = 2, 1 if (pointsAreOnSameSideOfLine(a, b, c, x1, y1, x2, y2)): print("Yes") else: print("No") # This code is contributed by Mohit Kumar
C#
// C# program to check if two points // lie on the same side or not using System; class GFG { // Function to check if two points // lie on the same side or not static bool pointsAreOnSameSideOfLine(int a, int b, int c, int x1, int y1, int x2, int y2) { int fx1; // Variable to store a * x1 + b * y1 - c int fx2; // Variable to store a * x2 + b * y2 - c fx1 = a * x1 + b * y1 - c; fx2 = a * x2 + b * y2 - c; // If fx1 and fx2 have same sign if ((fx1 * fx2) > 0) return true; return false; } // Driver code public static void Main() { int a = 1, b = 1, c = 1; int x1 = 1, y1 = 1; int x2 = 2, y2 = 1; if (pointsAreOnSameSideOfLine(a, b, c, x1, y1, x2, y2)) Console.WriteLine("Yes"); else Console.WriteLine("No"); } } // This code is contributed by Code_Mech
Javascript
<script> // Javascript program to check if two points // lie on the same side or not // Function to check if two points // lie on the same side or not function pointsAreOnSameSideOfLine(a, b, c, x1, y1, x2, y2) { let fx1; // Variable to store a * x1 + b * y1 - c let fx2; // Variable to store a * x2 + b * y2 - c fx1 = a * x1 + b * y1 - c; fx2 = a * x2 + b * y2 - c; // If fx1 and fx2 have same sign if ((fx1 * fx2) > 0) return true; return false; } let a = 1, b = 1, c = 1; let x1 = 1, y1 = 1; let x2 = 2, y2 = 1; if (pointsAreOnSameSideOfLine(a, b, c, x1, y1, x2, y2)) document.write("Yes"); else document.write("No"); // This code is contributed by divyesh072019. </script>
Yes
Publicación traducida automáticamente
Artículo escrito por DiptayanBiswas y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA