кодесурса

Упражнения на Java: Проверьте, находится ли точка (x, y) в треугольнике или нет

script1adsense2code
script1adsense3code

Java Basic: упражнение 219 с решением

Напишите программу на Java, чтобы проверить, находится ли точка (x, y) в треугольнике или нет. Существует треугольник, образованный тремя точками.

Входные данные :
x1, y1, x2, y2, x3, y3, xp, yp, разделенные одним пробелом.

Пример решения:

Java-код:

import java.util.*;
public class Main { 
    private double outer_product(double x, double y, double x1, double y1, double x2, double y2){
        x1 = x1 - x;
        y1 = y1 - y;
        x2 = x2 - x;
        y2 = y2 - y;
        double s = x1 * y2 - y1 * x2;
        return s;
    } 
    public void point(){
        Scanner sc = new Scanner(System.in);
            double [] x = new double[3];
            double [] y = new double[3];
			System.out.println("Input (x1, y1)");            
                x[0] = sc.nextDouble();
                y[0] = sc.nextDouble();
			System.out.println("Input (x2, y2)");            
                x[1] = sc.nextDouble();
                y[1] = sc.nextDouble();
			System.out.println("Input (x3, y3)");            
                x[2] = sc.nextDouble();
                y[2] = sc.nextDouble();
			System.out.println("Input (xp, yp)");            
                           
            double xp = sc.nextDouble();
            double yp = sc.nextDouble();
            boolean [] ans = new boolean[3];
            for(int i=0; i < 3; i++){
                ans[i] = outer_product(xp, yp, x[i], y[i], x[(i+1)%3], y[(i+1)%3]) > 0.0;
            }
            if(ans[0] == ans[1] && ans[1] == ans[2]){
                
            }
            else{
                System.out.println("The point is outside the triangle.");
            }
      }
    public static void main(String[] args) {
        Main obj = new Main();
        obj.point();
    }
}

Пример вывода:

 Вход (x1, y1)
2
6
Вход (x2, y2)
3
5
Вход (х3, у3)
4
6
Ввод (xp, yp)
5
6
Точка находится за пределами треугольника.

Блок - схема:

«Блок-схема:

Редактор кода Java:

Внесите свой код и комментарии через Disqus.

Предыдущий: Напишите Java-программу для печати числа простых чисел, которые меньше или равны данному целому числу.
Далее: написать программу на Java для вычисления и вывода суммы двух заданных целых чисел (больше или равно нулю). Если заданные целые числа или сумма имеют более 80 цифр, выведите «overflow».

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code