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

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

Войти
Регистрация
Восстановить пароль
 
Fraig
1 / 1 / 1
Регистрация: 28.01.2011
Сообщений: 42
#1

Определение большего расстояния - C++

05.06.2011, 23:20. Просмотров 578. Ответов 3
Метки нет (Все метки)

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

Округление до большего целого - C++
Спецы, нужна ваша помощь, второй день убил - ничего понять не могу! Есть такой OpenSource проект Kannel, по работе пришлось его...

Разложение большего числа на отдельные - C++
В общем суть такова Имеем в переменной, допустим в "a" число. Не зная какое там число, (оно присвоено в результате определенных операций)...

Нахождение большего числа в массиве - C++
Доброго время суток друзья. Помогите, исправьте что надо. Задание такое: Дан массив F: array , определить количество"особых" элементов в...

Нахождение бОльшего элемента в строке матрицы - C++
Добрый день. Есть матрица размерностью NxN, в каждой из строк надо найти большее значение и записать в массив. Мой код при матрице 1 2...

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
iama
1250 / 975 / 49
Регистрация: 30.07.2010
Сообщений: 5,297
05.06.2011, 23:34     Определение большего расстояния #2
Тупой перебор будет меньше, чем О(N^2), в чем проблема?
OstapBender
583 / 521 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
06.06.2011, 01:06     Определение большего расстояния #3
повезло тебе, что я делал только неделю назад такую программу 1-му перцу

чтение из файла сам исправишь
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
63
64
65
66
67
68
69
70
71
72
73
#include <iostream.h>
#include <fstream.h>
#include <time.h>
#include <stdlib.h>
#include <math.h>
 
 
struct coords {
    double x;
    double y;
    double z;
};
 
double getdist(double x1,double y1,double z1,double x2,double y2,double z2) {   // функция нахождения расстояния
    return pow(pow(x2-x1,2)+pow(y2-y1,2)+pow(z2-z1,2),0.5);
}
 
void readinfo(fstream& fstr, coords& coord1, coords& coord2, double& dmax, const int n) {  // функция чтения из файла. 2-3-4 параметры - выходные, в них и будет результат
    coords *arr;
    arr = new coords[n];
 
    dmax=0;
 
    int i;
 
    for (i=0; i<n; i++)     
        fstr >> arr[i].x >> arr[i].y >> arr[i].z;
 
    for (i=0; i<n; i++)
        for (int j=i+1; j<n ;j++) {
            double tempdist=getdist(arr[i].x,arr[i].y,arr[i].z,arr[j].x,arr[j].y,arr[j].z);
            if (tempdist > dmax) {
                dmax = tempdist;
                coord1=arr[i];
                coord2=arr[j];
            }
 
        }
 
 
    delete[] arr;
}
 
 
 
 
int main()
{
    const int n=100;
    srand(time(0));
    fstream fstr("POINTS.DAT",fstream::in);
 
    coords coord1, coord2;
    double dmax=0;
 
    readinfo(fstr,coord1,coord2,dmax,n);
 
    cout << "1st vector:\n";
    cout << coord1.x << ' ' << coord1.y << ' ' << coord1.z << '\n';
 
    cout << "\n2nd vector:\n";
    cout << coord2.x << ' ' << coord2.y << ' ' << coord2.z << '\n';
 
    cout << "\nmax distance:\n";
    cout << dmax;
 
 
    fstr.close();
 
 
    getchar();
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2011, 01:26     Определение большего расстояния
Еще ссылки по теме:

Вывести номер последнего числа в наборе, большего K - C++
Series16°. Дано целое число K и набор ненулевых целых чисел; признак его за-вершения — число 0. Вывести номер последнего числа в наборе,...

Нахождение суммы большего и меньшего из трех чисел - C++
Тут проблемы с задачей: написать программу для нахождения суммы большего и меньшего из трех чисел. (через ФУНЦИЮ) Так вот проблема в том...

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

Вывести номер первого числа в наборе, большего K - C++
Дано целое число K и набор ненулевых целых чисел; признак его завершения — число 0. Вывести номер первого числа в наборе, большего K. Если...


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

Или воспользуйтесь поиском по форуму:
Fraig
1 / 1 / 1
Регистрация: 28.01.2011
Сообщений: 42
06.06.2011, 01:26  [ТС]     Определение большего расстояния #4
Спасибо большое!
Yandex
Объявления
06.06.2011, 01:26     Определение большего расстояния
Ответ Создать тему
Опции темы

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