Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Liori
4 / 4 / 1
Регистрация: 30.08.2012
Сообщений: 155
#1

Найти диаметр множества - C++

29.03.2015, 00:45. Просмотров 600. Ответов 5
Метки нет (Все метки)

Найти диаметр множества – максимальное расстояние между любыми двумя точками с помощью структуры
Подскажите, что не так с циклом?

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
#include <iostream>
#include <cmath>
using namespace std;
struct Point
{
    int x, y;
};
 
int main(int argc, char* argv[])
{
    Point p[100];
    int n;
    double D, max_D=0;
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        cin >> p[i].x >> p[i].y;
    }
 
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            D = (p[i].x - p[i + 1].x) * (p[i].x - p[i + 1].x) + (p[i].y - p[i + 1].y)*(p[i].y - p[i + 1].y);
            if (D > max_D) max_D = D;
        }
    }
    
    cout.precision(15);
    cout.setf(ios::fixed);
    cout << D;
    system("pause");
    return 0;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2015, 00:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти диаметр множества (C++):

Найти диаметр графа - C++
помогите найти диаметр графа, в ответ записать, номера двух вершин и длина пути между ними. вот что у меня есть на данный момент ...

дан радиус окружности найти её диаметр с++ - C++
Помогите Пожалуйста!!! 1) дан радиус окружности найти её диаметр 2)Считая , что Земля - идеальная сфера с радиусом R==6350 km ,...

Множества . Найти разность полученного множества с заданным - C++
Всем доброго времени суток! Необходима ваша помощь. Никак не могу сделать второй пункт задачи.Суть задачи-найти 1)объединение множества...

Найти диаметр графа, то есть, максимальное значение среди всех кратчайших расстояний между каждой парой вершин - C++
Найти диаметр графа, то есть максимальное значение среди всех кратчайших расстояний между каждой парой вершин. Ответ: номера двух вершин...

Найти подмножество множества - C++
Программа должна позволять вводить с клавиатуры множество чисел, и находить подмножество множества. Т.е например если введено множество...

Программа, находящая диаметр графа - C++
Помогите пожалуйста составить программу, которая находит диаметр графа на С++. Какой метод вы использовали?

5
Gr1f0nn
241 / 161 / 74
Регистрация: 30.09.2012
Сообщений: 689
29.03.2015, 00:54 #2
Скорее всего D должно было так считаться:
C++
1
 D = (p[i].x - p[j].x) * (p[i].x - p[j].x) + (p[i].y - p[j].y)*(p[i].y - p[j].y);
0
Liori
4 / 4 / 1
Регистрация: 30.08.2012
Сообщений: 155
29.03.2015, 00:58  [ТС] #3
Gr1f0nn, к сожалению, так не работает, постоянно получается 0.0000
0
Gr1f0nn
241 / 161 / 74
Регистрация: 30.09.2012
Сообщений: 689
29.03.2015, 01:09 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
В конце
C++
1
cout << D;
Замените на
C++
1
cout << max_D;
Добавлено через 52 секунды
D:

C++
1
D = (p[i].x - p[j].x) * (p[i].x - p[j].x) + (p[i].y - p[j].y)*(p[i].y - p[j].y);
0
Liori
4 / 4 / 1
Регистрация: 30.08.2012
Сообщений: 155
29.03.2015, 01:14  [ТС] #5
Gr1f0nn, все равно не получается(
Например, ввожу :
2
1 2
2 3
и вместо 1.4142135623731 мне выдает 2.00000000
0
Gr1f0nn
241 / 161 / 74
Регистрация: 30.09.2012
Сообщений: 689
29.03.2015, 01:20 #6
C++
1
 D = sqrt((p[i].x - p[j].x) * (p[i].x - p[j].x) + (p[i].y - p[j].y)*(p[i].y - p[j].y));
Про корень в формуле мы забыли ^_^
1
29.03.2015, 01:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.03.2015, 01:20
Привет! Вот еще темы с ответами:

Вычислить диаметр заданного графа - C++
Помогите пожалуйста, нужно написать прогу для вычисления диаметра заданного графа.

Найти Булеан множества типа {a,b,c} - C++
Доброго времени суток, помогите написать метод нахождения булеана множества. Булеан множества - множество все возможных подножеств...

Число изъять из множества А, если оно является элементом множества А, но не является элементом множества В - C++
Введено с клавиатуры число изъять из множества А, если оно является элементом множества А, но не является элементом множества В. ...

Множества. Вычислить количество элементов множества Q, связанного c исходными множествами - C++
В общем задание звучит так : Заданы 3 упорядоченных множества F, G и H, представленные файлами f, g и h соответственно. Вычислить...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru