1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Множества

Тема в разделе "Java", создана пользователем Nadin85, 31 май 2008.

  1. Nadin85

    Nadin85 Гость

    Репутация:
    0
    Задано множества точек на плоскости. Найти такую точку, от которой сумма расстояний до других точек наименьшая.
    Суть лабы получилась, но теперь мне нужно, чтоб пользователь мог сам вводить точки и их координаты в командной строке, и тогда прога находила бы минимальную сумму расстояний до других точек. Как это реализовать? Помогите пожалуйсто!!! Вот привожу свой листинг, когда точки заданы в коде:
    Код:
     class Locate
    {
    
    private double x, y; /*по умолчанию x=0 и y=0 */
    
    public Locate()
    {
    
    x = 1;
    
    y = 1;
    
    }
    
    public void setX(double a)
    {
    
    x = a;
    
    }
    
    void setY(double b)
    { /*видимость по умолчанию*/
    
    y = b;
    
    }
    
    public double getX()
    {
    
    return x;
    
    }
    
    public double getY()
    {
    
    return y;
    
    }
    
    }
    
    public class Distance
    {
    
    public static void main(String[] args)
    {
    
    //локальные переменные не являются членами класса
    
    Locate O = new Locate();
    
    Locate A = new Locate();
    
    Locate B = new Locate();
    
    Locate C = new Locate();
    
    double dx;		
    double dy;
    double distance1;
    double distance2;
    double distance3;
    double summa1;
    double summa2;
    double summa3;
    
    O.setX(5);
    
    O.setY(10);
    
    A.setX(2);
    
    A.setY(6);
    
    B.setX(8);
    
    B.setY(6);
    
    C.setX(4);
    
    C.setY(2);
    
    dx = O.getX() - A.getX(); //3
    
    dy = O.getY() - A.getY(); //4
    
    /* вычисление расстояния */
    
    distance1 = Math.sqrt(dx * dx + dy * dy); //вычисление гипотенузы треугольника, расстояние 5		
    
    dx = B.getX() - O.getX(); //3
    
    dy = O.getY() - B.getY(); //4
    
    distance2 = Math.sqrt(dx * dx + dy * dy); //вычисление гипотенузы треугольника, расстояние 5		 
    
    dx = O.getX() - C.getX(); //1
    
    dy = O.getY() - C.getY(); //8
    
    distance3 = Math.sqrt(dx * dx + dy * dy); //вычисление гипотенузы треугольника, расстояние 8.06
    
    summa1 = distance1 + distance2 + distance3;	 //18.06
    
    
    O.setX(6);
    
    O.setY(7);
    
    dx = O.getX() - A.getX(); //4
    
    dy = A.getY() - O.getY(); //1
    
    distance1 = Math.sqrt(dx * dx + dy * dy); //4.1
    
    dx = B.getX() - O.getX(); //2
    
    dy = B.getY() - O.getY(); //1
    
    distance2 = Math.sqrt(dx * dx + dy * dy); //2.24
    
    dx = O.getX() - C.getX(); //2
    
    dy = O.getY() - C.getY(); //5
    
    distance3 = Math.sqrt(dx * dx + dy * dy); //5.39
    
    summa2 = distance1 + distance2 + distance3; //11.73
    
    
    O.setX(6);
    
    O.setY(4);
    
    dx = O.getX() - A.getX(); //4
    
    dy = A.getY() - O.getY(); //2
    
    distance1 = Math.sqrt(dx * dx + dy * dy); //4.47
    
    dx = B.getX() - O.getX(); //2
    
    dy = B.getY() - O.getY(); //2
    
    distance2 = Math.sqrt(dx * dx + dy * dy); //2.83
    
    dx = O.getX() - C.getX(); //2
    
    dy = O.getY() - C.getY(); //2
    
    distance3 = Math.sqrt(dx * dx + dy * dy); //2.83
    
    summa3 = distance1 + distance2 + distance3; //10.13	
    
    double min12 = java.lang.Math.min(summa1, summa2);
    
    System.out.println("Min Summa = " + java.lang.Math.min(min12, summa3));
    }
    }
     
  2. festevall

    festevall Гость

    Репутация:
    0
    а это что?
     
Загрузка...
Похожие Темы - Множества
  1. alturgrey
    Ответов:
    2
    Просмотров:
    1.325

Поделиться этой страницей