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

В файле записано количество точек на плоскости и их координаты.Поместить эти координаты в двумерный динамический массив

28.05.2019, 14:21. Показов 2650. Ответов 1

Author24 — интернет-сервис помощи студентам
В файле записано количество точек на плоскости и их координаты. Поместить эти координаты в двумерный динамический массив. Найти две точки, находящиеся на максимальном удалении друг от друга. Расстояние R между точками с координатами (x1, y1) и (x2, y2) вычисляется по формуле: R=sqrt((x2-x1)^2+(y2-y1)^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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <bits/stdc++.h>
//using namespace std;
struct Point 
{
    double x;
    double y;
};
 
double distance(const Point& rhs, const Point& lhs) 
{
    return sqrt(pow(rhs.x - lhs.x, 2)+ pow(rhs.y - lhs.y, 2));
}
 
void generate(std::vector<Point>& v) 
{
    std: : random_device rd;
    std: : uniform_real_distribution<double> spread (-1.0,1.0);
    for (auto& w : v) 
    {
        w.x = spread(rd);
        w.y = spread(rd);
    }
}
 
std: : pair<Point, Point> find_diameter( const std::vector<Point>& v) 
{
 
    double max = 0;
    std: : pair<Point , Point> maxpair; 
 
    for ( auto it = v.begin(); it != v.end(); ++it) 
    {
        for (auto inner = it + 1; inner < v.end(); ++inner) 
        {
            auto tmp = distance( *it, *inner );
            if (max < tmp) 
            {
                maxpair.first = *it;
                maxpair.second = *inner;
                max = tmp;
            }
        }
    }
    return maxpair;
}
 
 
int main() 
{
    setlocale(LC_ALL, "rus"); 
    auto size = 1000;
    std: : vector<Point> universe(size);
    generate(universe);
 
    auto result_points = find_diameter(universe);
    printf("Äèàìåòð ìíîæåñòâà: %f\níàéäåí íà òî÷êàõ (%f, %f) è (%f, %f)\n",
           distance(result_points.first, result_points.second),
           result_points.first.x, result_points.first.y,
           result_points.second.x, result_points.second.y
          );
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.05.2019, 14:21
Ответы с готовыми решениями:

У квадрата ABCD на плоскости известны координаты двух противоположных вершин - точек A и C. Найти координаты точек B и
У квадрата ABCD на плоскости известны координаты двух противоположных вершин - точек A и C. Найти...

Заданы координаты десяти точек плоскости и координаты точки-полюса
Всем привет! Нужна ваша помощь)Нужно писать программу на с# -Заданы координаты десяти точек...

Вести Координаты двух точек на плоскости и определить координаты середины отрывка соединяющих их
Пожалуйста помогите написать программу , ;)

Задан двумерный массив, в котором хранятся координаты точек,Определить число точек лежащих в N-ой четверти
Задан двумерный массив, в котором хранятся координаты точек, лежащих на плоскости (х – первая...

1
0 / 0 / 0
Регистрация: 12.05.2019
Сообщений: 49
29.05.2019, 22:12  [ТС] 2
Помогите пожалуйста. Тема все еще актуальна!
0
29.05.2019, 22:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.05.2019, 22:12
Помогаю со студенческими работами здесь

Определить наиболее близкие из точек координаты которых записаны в двумерный массив
Дано натуральное число n. С помощью двумерного действительного числового массива i=1,2; j=1,...,n...

Ввести координаты 10 точек на плоскости и определить в какой из четвертей больше всего точек
Всем привет. Есть задание ввести координаты 10 точек. Не без помощи интернета смог написать код,...

Дано множество точек на плоскости, заданных полярными координатами. Получить декартовы координаты этих точек
Получилось сделать для координаты одной точки, а как сделать для множества точек, через цикл или...

В одномерных массивах X и Y хранятся соответствующие координаты N точек плоскости. Напечатать номера точек в порядке их удаления от (0,0)
В одномерных массивах X и Y хранятся соответствующие координаты N точек плоскости. Напечатать...

Заданные координаты N точек на плоскости. Определить, верно ли, что расстояние между каждой парой точек не более 10
Заданные координаты N точек на плоскости. Определить, верно ли, что расстояние между каждой парой...

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


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

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

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