0 / 0 / 0
Регистрация: 21.12.2012
Сообщений: 8
1

Пусть даны коррдинаты n точек на плоскости

21.12.2012, 09:22. Показов 1363. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пусть даны коррдинаты n точек на плоскости x1,y1,...,xn,yn (n=20). Найти номера двух точек,расстояние между которыми наибольшее. (Считать такая пара точек единственная)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.12.2012, 09:22
Ответы с готовыми решениями:

Даны координаты N точек на плоскости. найти номера всех пар точек расстояние между которыми наибольшее
Даны координаты N точек на плоскости. найти номера всех пар точек расстояние между которыми...

Пусть D – заштрихованная часть плоскости. Даны действительные числа x, y. Определить u, если u определяется по x и y
1. Пусть D – заштрихованная часть плоскости. Даны действительные числа x, y. Определить u, если u...

Даны два множества точек на плоскости
Не хотят ставить зачёт=(( Помогите, хотя бы как начать этот ужас?? Заранее благодарен) Даны...

Пусть даны координаты трёх точек на плоскости. Если они могут быть вершинами равнобедренного остроугольного треугольника, вычислите его площадь
Пусть даны координаты трёх точек на плоскости. Если они могут быть вершинами равнобедренного...

7
21 / 21 / 8
Регистрация: 11.12.2012
Сообщений: 64
21.12.2012, 13:15 2
нужно проверить точки по формуле
http://ru.wikipedia.org/wiki/%... 0%BA%D0%B0
0
4066 / 3319 / 925
Регистрация: 25.03.2012
Сообщений: 12,496
Записей в блоге: 1
21.12.2012, 13:58 3
Цитата Сообщение от Oleshko Посмотреть сообщение
нужно проверить точки по формуле
как минимум извлекать корень не нужно в этой формуле.
0
27 / 6 / 1
Регистрация: 20.12.2012
Сообщений: 39
21.12.2012, 14:05 4
что вы человека пугаете n-мерными пространствами? ))
дано 20 точек на плоскости XY
найти максимальное расстояние между каждой парой этих точек и что это за точки
0
4066 / 3319 / 925
Регистрация: 25.03.2012
Сообщений: 12,496
Записей в блоге: 1
21.12.2012, 14:10 5
Цитата Сообщение от radamaerl Посмотреть сообщение
что вы человека пугаете n-мерными пространствами? ))
А никто и не пугает. Я зашёл по этой ссылке. Там обычная теорема Пифагора получается в случае двумерного пространства. Я ещё добавил, что при сравнении расстояний стоит не извлекать корень, а сравнивать их квадраты.
Однако, с возрастанием n на многие порядки, сложность алгоритма n-квадрат даст о себе знать. Стоит поискать алгоритм хотя бы n log n. Сейчас гуглю какие-либо более оптимальные алгоритмы, но если они и существуют, они не настолько тривиальны.Гугли в сторону двоичного разбиения пространства что ли.
Я верю, что этот алгоритм существует, но он не такой банальный и его мне пока не найти.
0
27 / 6 / 1
Регистрация: 20.12.2012
Сообщений: 39
21.12.2012, 14:18 6
ну я думаю парень испугался формулы)) точно
у него в задании n=20 и в формуле корень степени n
студент все таки
сказать о теореме пифагора было бы достаточно, ну то такое
Анекдот - Пусть количество танков будет X, хотя нет, мало, лучше Y
вобще кажется просто перебрать двумя for как при сортировке
сразу для первого посчитать расстояние и назвать его максимум
если потом расстояние будет больше максимума то оно максимум
ну и индекс для максимума запомнить
и вопрос хранения координат
массив структур[20] {x,y} или массив чисел[20][2]
0
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
21.12.2012, 17:30 7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <iostream>
#include <math.h>
 
using namespace std;
 
struct Point
{
    double x,y;
}; 
 
void Fill(Point *T,int N)
{
    cout<<"Введи координаты "<<N<<" точек\n";
    for (int i=0;i<N;i++)   cin>>T[i].x>>T[i].y;    
}
 
void GetMax(Point *T,int N)
{
Point T1,T2,TRes1,TRes2;
double len=0,temp=0;
    
 for (int i=0;i<N;i++)
 {
     for (int j=i+1;j<N;j++)
     {      
        
             T1.x=T[i].x;
             T1.y=T[i].y;
 
             T2.x=T[j].x;
             T2.y=T[j].y;       
 
             len=sqrt(fabs(pow(T1.x-T2.x,2)+pow(T1.y-T2.y,2)));          
 
             if (len>temp)
             {
                 temp=len;
                 TRes1.x=T1.x;
                 TRes1.y=T1.y;
 
                 TRes2.x=T2.x;
                 TRes2.y=T2.y;
             }
     }   
 }
 cout<<"\nИТОГ   "<<TRes1.x<<"  "<<TRes1.y<<"    "<<TRes2.x<<"  "<<TRes2.y;
 cout<<"\n";
}
 
int main() {
    
    int N=5; //Количество точек
         Point *T=new Point[N];
 
               Fill(T,N);   
              GetMax(T,N);
 
          delete []T;
  return 0;
}
Миниатюры
Пусть даны коррдинаты n точек на плоскости  
0
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
21.12.2012, 17:40 8
Строка 33
C++
1
len=sqrt(fabs(pow(T1.x-T2.x,2)+pow(fabs(T1.y-T2.y,2))));
А если не нужно длин, то достаточно так
C++
1
len=pow(T1.x-T2.x,2)+pow(T1.y-T2.y,2);
0
21.12.2012, 17:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.12.2012, 17:40
Помогаю со студенческими работами здесь

Пусть даны координаты трех точек на плоскости.Если они могут быть вершинами треугольника,определите его вид(разносторонний,равнобедренный,равносторонн
Пусть даны координаты трех точек на плоскости.Если они могут быть вершинами треугольника,определите...

Даны 3 точки. Определить положение точек на плоскости. Вывести сообщение какой четверти плоскости они принадлежат
Даны 3 точки А(х1,y1), B(х2,y2), C(х3,y3) Определить положение точек на плоскости. Вывести...

Пусть A, B и C — множества точек плоскости, координаты которых удовлетворяют перечисленным условиям
Пусть A, B и C — множества точек плоскости, координаты которых удовлетворяют перечисленным...

Даны два множества точек на плоскости. Выбрать три точки так, чтобы треугольник с вершинами в этих точках содержал равное количество точек
Даны два множества точек на плоскости. Из первого множества выбрать три различные точки так, чтобы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru