Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/16: Рейтинг темы: голосов - 16, средняя оценка - 5.00
Виктуся
0 / 0 / 3
Регистрация: 29.04.2011
Сообщений: 17
1

найти две наиболее удаленных друг от друга точки (множество точек задано на плоскости)

29.04.2011, 17:57. Просмотров 3010. Ответов 4
Метки нет (Все метки)

Помогите, пожалуйста, написать программу на С++, используя структуру point для хранения координат точки: следует найти две наиболее удаленных друг от друга точки (множество точек задано на плоскости).Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2011, 17:57
Ответы с готовыми решениями:

Найти две наиболее удаленных друг от друга точки
Структуры: I. Решить задачу, используя структуру point для хранения координат...

Задан массив точек. Найти номера наиболее и наименее удаленных друг от друга точек.
Условие задачи: В одномерном массиве с четным количеством элементов (2N)...

Найти номера наиболее и наименее удаленных друг от друга точек
В одномерном массиве с четным количеством элементов (2N) находятся координаты N...

В заданном множестве точек найти три пары самых удаленных друг от друга точек
Координаты точки на площади задаются парой действительных чисел. Дано...

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

4
silent_1991
Эксперт С++
5009 / 3069 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
29.04.2011, 19:18 2
Ищем расстояние от каждой точки до каждой, каждый раз запоминая максимальное расстояние и координаты соответствующих точек.
0
Виктуся
0 / 0 / 3
Регистрация: 29.04.2011
Сообщений: 17
29.04.2011, 19:27  [ТС] 3
Я вот написала, но не работает...(( не могли бы помочь исправить?
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
#include "fstream"
#include "cmath"
using namespace std;
 
struct point
{
    int x, y;
};
 
double dlina (point a, point b)
{
    return sqrt(pow(a.x-b.x,2)+pow(a.y-b.y,2));
}
 
int main()
{
    point t[100];
    ifstream in ("input.txt");
    ofstream out ("output.txt");
 
int i=0;
while(!in.eof())
{
    in>>t[i].x>>t[i].y;
    i++;
}
int n=i;
i=0;
double max=dlina(t[0],t[1]);
int z=0, k=1;
for(i=0; i<n-1; i++)
{
    for(int j=i+1; j<n; j++){
        if(max<dlina(t[i],t[j])){
            max=dlina(t[i],t[j]);
            z=i;
            k=j;
        }
    }
}
out<<t[z]<<"\t"<<t[k]<<endl;
in.close();
out.close();
return 0;
}
 Комментарий модератора 
Используйте теги форматирования кода.
0
litoq
10 / 10 / 3
Регистрация: 11.12.2010
Сообщений: 12
29.04.2011, 19:42 4
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
#include "fstream"
#include <cmath>
using namespace std;
 
struct point
{
int x, y;
};
 
double dlina (point a, point b)
{
return sqrt(pow(double(a.x - b.x), 2) + pow(double(a.y - b.y), 2));
}
 
int main()
{
    point t[100];
    ifstream in ("input.txt");
    ofstream out ("output.txt");
 
    int i=0;
    while(!in.eof())
    {
        in>>t[i].x>>t[i].y;
        i++;
    }
    int n = i;
    i = 0;
    double max = dlina(t[0], t[1]);
    int z=0, k=1;
    for(i=0; i<n-1; i++)
    {
        for(int j=i+1; j<n; j++){
        if(max<dlina(t[i],t[j])){
        max=dlina(t[i],t[j]);
        z=i;
        k=j;
    }
    }
    }
    out << t[z].x << " " << t[z].y << "\t" 
        << t[k].x  << " " << t[k].y << endl;
    in.close();
    out.close();
    return 0;
}
только поменял

C++
1
out<<t[z]<<"\t"<<t[k]<<endl;
на

C++
1
2
    out << t[z].x << " " << t[z].y << "\t" 
        << t[k].x  << " " << t[k].y << endl;
Вроде ваш код правильно работает...
0
Виктуся
0 / 0 / 3
Регистрация: 29.04.2011
Сообщений: 17
29.04.2011, 20:19  [ТС] 5
Спасибо большое за помощь!
0
29.04.2011, 20:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.04.2011, 20:19

Динамическая матрица (Найти координаты двух точек, наиболее удалённых друг от друга)
Дана динамическая матрица размера N*2 (N вводится). Каждая строка матрицы...

Найти наименее удаленные друг от друга точки на плоскости
Приветствую ребята! Нужна помощь, помогите решить задачу на С++, Заранее...

Дана точка A и множество B из N точек. Найти номер точки из множества B, наиболее удаленной от точки A
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;time.h&gt;...


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

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

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