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

Определить наименьшее расстояние между тремя точками - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
Yga@
0 / 0 / 0
Регистрация: 14.06.2013
Сообщений: 15
29.07.2013, 08:35     Определить наименьшее расстояние между тремя точками #1
Заданы три точки А(a1,a2,a3), В(b1,b2,b3) и С(c1,c2,c3). Определить, между какими точками расстояние будет наименьшим
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.07.2013, 08:35     Определить наименьшее расстояние между тремя точками
Посмотрите здесь:

C++ Найти наибольшее расстояние между точками
Расстояние между 2-мя точками. C++
C++ Расстояние между двумя точками
Расстояние между точками C++
C++ Посчитать расстояние между точками прямой
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nikitko_Cent
128 / 98 / 8
Регистрация: 27.10.2011
Сообщений: 629
Завершенные тесты: 2
29.07.2013, 09:15     Определить наименьшее расстояние между тремя точками #2
Расстояние между точками можно найти по формуле:
http://www.cyberforum.ru/cgi-bin/latex.cgi?\sqrt{{(x2-x1)}^{2}+{(y2-y1)}^{2}+{(z2-z1)}^{2}}

Дальше сам
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
29.07.2013, 09:47     Определить наименьшее расстояние между тремя точками #3
Для корней и квадратов есть библиотека math.h
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
29.07.2013, 09:49     Определить наименьшее расстояние между тремя точками #4

Не по теме:

с мира по нитке


в этой задаче можно функцию sqrt() не использовать вовсе.
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
29.07.2013, 10:14     Определить наименьшее расстояние между тремя точками #5
Thinker, даже нужно - не будет потери точности.
Thinker
29.07.2013, 10:21
  #6

Не по теме:

Dani, а зачем мне было все карты раскрывать, вот и от вас ниточка
а по поводу точности, памяти и т.д. взгляните:
ms dos

Ilot
Модератор
Эксперт С++
1767 / 1142 / 223
Регистрация: 16.05.2013
Сообщений: 3,020
Записей в блоге: 5
Завершенные тесты: 1
29.07.2013, 10:27     Определить наименьшее расстояние между тремя точками #7
Может и не совсем совершенный код, но что есть то есть:
Кликните здесь для просмотра всего текста
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
#include<iostream>
using namespace std;
class point
{
private:
    float x1, x2, x3;
public:
    point(): x1(0), x2(0), x3(0)
    {}
    point(float x, float y, float z): x1(x), x2(y), x3(z)
    {}
    void get_point()
    {
        cout << "Введите через пробел координаты точки:"; cin >> x1 >> x2 >> x3;    
    }
    friend float modul(point&, point&);
};
float modul(point& p1, point& p2)
{
    return (p1.x1-p2.x1)*(p1.x1-p2.x1) + (p1.x2-p2.x2)*(p1.x2-p2.x2) + (p1.x3-p2.x3)*(p1.x3-p2.x3);    
}
int main()
{
    system("chcp 1251>0");
    point A,B,C;
    A.get_point();
    B.get_point();
    C.get_point();   
    
    if (modul(A, B) > modul(A, C))
    {
        if (modul(A, C) > modul(B, C))
            cout << "Наименьшее расстояние между второй и третьей точкой" << endl;
        else
            cout << "Наименьшее расстояние между первой и третьей точкой" << endl;
    }
    else
    {
        if (modul(A, B) > modul(B, C))
            cout << "Наименьшее расстояние между второй и третьей точкой" << endl;
        else
            cout << "Наименьшее расстояние между первой и второй точкой" << endl;        
    }
   
    system("pause");
    return 0;
}
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
29.07.2013, 10:35     Определить наименьшее расстояние между тремя точками #8
Я бы вместо get_point уж тогда :
C++
1
2
3
4
5
6
7
8
friend istream& operator >> (istream& in,point& p);
//...
istream& operator >> (istream& in,point& p)
{
    cout << "Введите через пробел координаты точки:";
    in >> p.x1 >> p.x2 >> p.x3;
    return in;
}
Добавлено через 1 минуту
Зато потом:
C++
1
2
3
4
5
6
7
8
int main()
{
    point A,B,C;
    cin >> A;
    cin >> B;
    cin >> C;
// ...
}
Ilot
Модератор
Эксперт С++
1767 / 1142 / 223
Регистрация: 16.05.2013
Сообщений: 3,020
Записей в блоге: 5
Завершенные тесты: 1
29.07.2013, 10:38     Определить наименьшее расстояние между тремя точками #9
Wolkodav, а в чем приимущество вашего метода?
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
29.07.2013, 10:43     Определить наименьшее расстояние между тремя точками #10
Буковок при вызове меньше писать...
А так, просто переопределяем стандартный ввод. Как-то интуитивнее понятнее будет, если придётся использовать класс в будущем.
Ilot
Модератор
Эксперт С++
1767 / 1142 / 223
Регистрация: 16.05.2013
Сообщений: 3,020
Записей в блоге: 5
Завершенные тесты: 1
29.07.2013, 10:52     Определить наименьшее расстояние между тремя точками #11
Пожалуй с вами соглашусь. При работе с чужим кодом такое переопределение значительно упростит понимание чем использование методов. Мне почему-то потоки тяжело даются, хотя уже и STL прошел (Лафоре).
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2013, 11:00     Определить наименьшее расстояние между тремя точками
Еще ссылки по теме:

C++ Найти наибольшее расстояние между точками
Расстояние между точками x0 y0 x1 y1 C++
C++ Расстояние между двумя точками

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

Или воспользуйтесь поиском по форуму:
Dani
29.07.2013, 11:00     Определить наименьшее расстояние между тремя точками
  #12

Не по теме:

Thinker, можете не верить, но уже видео про ДОС видел. Кстати, вот офигенное http://www.youtube.com/watch?v=XP34FHKleiY Ржал как ненормальный, когда смотрел Только не по теме оно немного

Yandex
Объявления
29.07.2013, 11:00     Определить наименьшее расстояние между тремя точками
Ответ Создать тему
Опции темы

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