Форум программистов, компьютерный форум CyberForum.ru

Найти номера пары точек, расстояние между которыми наибольшее (считать, что такая пара единственная). - C++

Восстановить пароль Регистрация
 
pampam
0 / 0 / 0
Регистрация: 22.01.2014
Сообщений: 11
22.01.2014, 20:18     Найти номера пары точек, расстояние между которыми наибольшее (считать, что такая пара единственная). #1
Доброго времени, никак не могу понять как делать эти две программки. Во второй меня интересует как разделить матрицу пополам, а потом работать на их половинках.
1)Даны координаты n точек на плоскости: (X1; Y1); ...; (Xn; Yn)
(n <= 30). Найти номера пары точек, расстояние между которыми наибольшее (считать, что такая пара единственная).

 Комментарий администратора 
одна тема - одна задача, читайте правила форума
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2014, 20:18     Найти номера пары точек, расстояние между которыми наибольшее (считать, что такая пара единственная).
Посмотрите здесь:

Найти все пары параллельных прямых,расстояние между которыми принадлежит заданному интервалу C++
C++ Найти наибольшее расстояние между точками
составить программу определяющую пару точек расстояние между которыми максимально C++
Задача по физике (Определить силу притяжения между телами массы m1 и m2, расстояние между которыми r) C++
C++ Найти наибольшее расстояние между точками
C++ Найти номера пары точек, расстояние между которыми максимально (Паскаль -> С++)
Выдать пары простых чисел, разность между которыми равна 4, а сами числа меньше n C++
Функция, которая вернет номера двух из трех заданных точек на плоскости, расстояние между которыми минимально C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
malfoi
 Аватар для malfoi
50 / 50 / 15
Регистрация: 17.12.2013
Сообщений: 334
24.01.2014, 12:33     Найти номера пары точек, расстояние между которыми наибольшее (считать, что такая пара единственная). #2
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
#include <iostream>
#include <cmath>
 
double len(double x1, double y1, double x2, double y2){
    return sqrt(pow(x2 - x1, 2.00) + pow(y2 - y1, 2.00));
}
 
typedef struct point {
    double x;
    double y;
};
 
int main() {
    point arr[1000];
    int n, idx1, idx2;
    double max;
 
    std::cin >> n;
 
    for (int i = 0; i < n; i++)
        std::cin >> arr[i].x >> arr[i].y;
 
    max = len(arr[0].x, arr[0].y, arr[1].x, arr[1].y);
    for(int i = 0; i < n - 1; i++){
        for (int j = i + 1; j < n; j++){
            if (len(arr[i].x, arr[i].y, arr[j].x, arr[j].y) > max) {
                max = len(arr[i].x, arr[i].y, arr[j].x, arr[j].y);
                idx1 = i;
                idx2 = j;
            }
        }
    }
    std::cout << idx1 + 1 << " " << idx2 + 1 << std::endl;
 
    return 0;
}
Yandex
Объявления
24.01.2014, 12:33     Найти номера пары точек, расстояние между которыми наибольшее (считать, что такая пара единственная).
Ответ Создать тему
Опции темы

Текущее время: 00:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru